Клавиатура автоматически скрывается в iOS при наборе текста в элементе ListView TextField - PullRequest
0 голосов
/ 03 апреля 2019

Я работаю над приложением NativeScript и настроил элемент ListView для хранения динамически генерируемых элементов TextField.Когда я начинаю печатать в одном из элементов TextView в ListView на iOS, клавиатура немедленно закрывается.

Это происходит только в iOS, а не в версии приложения для Android.Я нашел сообщение на форуме об этой проблеме, возникающей с iOS, в приложении NativeScript Vue, но я не уверен, как использовать то, что они сделали, чтобы помочь мне с 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);
  }

Детская площадка: Детская версия приложения

...