我正在为台式机/笔记本电脑(而非移动设备)开发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();
});
})
}