如何将表格推到键盘上方?

时间:2017-09-15 05:57:29

标签: css angular ionic2

我有一个单击按钮时可见的表单。我在该表单中也有多个输入标记。当我在第一个输入上输入数据时,它是可见的,但第二个和第三个输入标签隐藏在键盘下面。

<div class="showmodal" *ngIf="formDisplay">
    <div class="containdiv">
        <ion-row class="milkColor">
            <ion-label style="padding-left: 5%;">Add New Contact </ion-label>
            <ion-icon class="iconPad" name="close"  (click)="cancel()" > </ion-icon>
        </ion-row>
        <form #form="ngForm" (ngSubmit)="logForm(form)" novalidate>
            <ion-row>
                <ion-col>
                    <ion-label text-right> <b>Name :</b> </ion-label>
                </ion-col>
                <ion-col>
                    <ion-input [value]="name" name="name" [(ngModel)]="name" type="text" placeholder="Contact Name" required></ion-input>
                </ion-col>
            </ion-row>
            <ion-row>
                <ion-col>
                    <ion-label text-right> <b>Occupation :</b> </ion-label>
                </ion-col>
                <ion-col>
                        <ion-input [value]="service" name="service" [(ngModel)]="service" type="text" placeholder="Occupation" required></ion-input>
                </ion-col>
            </ion-row>

            <ion-row>
                <ion-col>
                    <ion-label text-right > <b>Contact No. :</b> </ion-label>
                </ion-col>
                <ion-col>
                    <ion-input [value]="number" name="number" [(ngModel)]="number" type="number" placeholder="Number" required></ion-input>
                </ion-col>
            </ion-row>
            <ion-row >
                <ion-col text-center>
                    <button [disabled]=!form.valid  class="textLower" ion-button type="submit" value="Submit" >Submit</button>                  
                </ion-col>
            </ion-row>
        </form>
    </div>
</div>

和我的css

 .showmodal {
    position: fixed;
    top: 0;
    height: 100%;
    width: 100%;
    background: rgba(23, 22, 22, 0.2);
    z-index: 10;
    left: 0px;
}    
.showmodal .containdiv {
    background: white;
    margin-top:52%;
    min-height:30%;
    overflow:auto;
    margin: 150px 20px 0 17px;
}

当该表单到达时,我需要所有3个输入都可见,如果我有超过3个输入标记,我应该能够滚动输入列表

有人能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

在您将formDisplay设置为true以显示表单的按钮(点击)事件中,添加scroll,这样表单内容会稍微增加,输入会显示在屏幕上更高,而不是键盘隐藏。 如下所示:

<强> HTML

<button ....(click)="displayForm()"...>Display Form</form>   

<强>打字稿

displayForm(){
...
 this.displayForm=true; 
 window.scroll(0, 100); // or an other number of pixels enough to display
...
}