键入ListView的TextField元素时,键盘在iOS上自动隐藏

时间:2019-04-03 19:29:30

标签: ios nativescript angular2-nativescript

我正在使用NativeScript应用程序,并且已经设置了ListView元素来容纳动态生成的TextField元素。当我开始在iOS上输入ListView的Textfield元素之一时,它将立即关闭键盘。

此行为仅在iOS上发生,而不在应用程序的Android版本上发生。我在NativeScript Vue应用程序中找到了一篇有关iOS发生的此类问题的论坛帖子,但是我不确定如何使用他们的工作来帮助我使用Angular。

https://github.com/nativescript-vue/nativescript-vue/issues/334

component.html

 <StackLayout formArrayName="ingredients" row="5" colSpan="3">
                        <ListView height="100" [items]="form.get('ingredients').value">                           
                            <ng-template
                                let-ingredient="item"
                                let-i="index"
                            >
                                <StackLayout>
                                    <TextField 
                                        hint="Add Ingredient"                                       
                                        width="300"
                                        [formControlName]="i"                                    
                                    ></TextField>
                                </StackLayout>                                
                            </ng-template>                                    
                        </ListView>                                           
                    </StackLayout>   

component.ts

ngOnInit() {
    this.form = new FormGroup({  
      name: new FormControl(null, {updateOn: 'blur'}),
      description: new FormControl(null, {updateOn: 'blur'}),
      ingredients: new FormArray([new FormControl(null)]),
      steps: new FormArray([new FormControl(null)]),
      imageNames: new FormArray([])
    });  
  }

  onAddIngredient() {
    const control = new FormControl(null);
    (<FormArray>this.form.get('ingredients')).push(control);
  }

游乐场:Playground version of app

0 个答案:

没有答案