添加输入并按下Enter键后,如何在ionic AlertController中专注于保存按钮

时间:2018-11-15 16:42:40

标签: angular ionic-framework ionic3

我正在为台式机/笔记本电脑(而非移动设备)开发Ionic项目。我有一个AlertController,它具有一个输入,一个保存按钮和一个取消按钮。我想做的是添加输入,按回车,输入会自动保存。但是,当我添加输入并按回车键时,模态消失而不保存。如果在添加输入后按Tab键单击“保存”按钮,然后按Enter,它会按应有的方式保存,因此我知道保存功能正在起作用。我相信这个问题是重点之一(请告诉我我是否错了)。如何在alertCtrl中设置焦点,以便在添加输入后按Enter键可以保存输入?

这是AlertController的代码:

addTapped(event, cell, rowIndex) {
  const prompt = this.alertCtrl.create({
    title: "Add " + this.selectedItem.label.slice(0, this.selectedItem.label.length-this.selectedItem.trimSingle),
    cssClass: 'buttonCss',
    enableBackdropDismiss: false,
    inputs: [
      {
        name: 'name',
      }
    ],

    buttons: [
      {
        text: 'Save',
        handler: data => {
          this.saveNewRow(data);
        },
        cssClass: 'buttonColor item-button button button-md button-default button-default-md button-md-pm-yellow'

      },
      {
        text: 'Cancel',
        cssClass: 'item-button button button-md button-outline button-outline-md'
      },

    ],

  });
  prompt.present();
  console.log("You clicked on a detail.");
}

这是saveNewRow函数的代码:

saveNewRow(data) {

  this.selectedItem.service.findOne({order: "id DESC"}).subscribe(result => {
    console.log('The result is ', result);
    this.editRowId = result.id+1;
    this.editRowData = { id: this.editRowId, name: data.name };
    console.log('editRowData is ', this.editRowData);
    this.selectedItem.service.create(this.editRowData).subscribe(result => {
      this.refreshRows();
    });
  })
}

0 个答案:

没有答案