我正在使用alertPromt,我有一个输入字段。我有两个选项说'ok'& '下一步'和'取消'。
如果用户点击“下一步”,我需要捕获输入值&添加到&后面的列表再次显示一个新警报,要求用户在ionic3中提供更多输入。
这应该是一个持续的过程。
问题面对:目前,对于第一个实例,页面刷新&新警报已创建。现在,如果我点击“下一步”按钮,警报将永远保持不变我无法将其从视图中删除。
已尝试的解决方案: 我尝试在调用新警报之前解除警报,但这给了我一个错误说,删除了view()一些错误。问题仍然存在。
我正在尝试在Android设备上运行此代码。 iOS设备我还没试过。
警报我正在使用AlertController。
addNewItem(){
this.showItemAddAlert();
}
showItemAddAlert(){
let prompt = this.alertCtrl.create({
cssClass: 'custom-alert',
title: 'Title',
message: "Enter a name of the item.",
inputs: [
{
id : 'alertInputId',
name: 'itemName',
placeholder: 'Item Name',
value: ""
},
],
buttons: [
{
cssClass : 'first-button',
text: 'Next',
handler: data => {
if(data.itemName !=""){
this.addNewItem();
}else{
console.log('log here');
}
}
},
{
text: 'Cancel',
},
{
text: 'Ok',
handler: data => {
if(data.itemName !=""){
console.log('add input here');
}
}
}
]
});
prompt.present()
}
答案 0 :(得分:0)
这里我们首先提示显示初始警报我接下来有this.myNewPromt(data)
这样的函数,它带有输入数据。
如果您需要,可以再次拨打presentPrompt,这将创建一个新警报;
presentPrompt() {
const alert = this.alertCtrl.create({
title: 'title',
inputs: [
{
name: 'Add',
placeholder: 'Title'
}
],
buttons: [
{
text: 'Cancel',
role: 'cancel',
handler: data => {
console.log('Cancel clicked');
}
},
{
text: 'OK',
handler: data => {
}
},{
text: 'Next',
handler: data => {
this.myNewPromt(data);
}
}
]
});
alert.present();
}
myNewPromt(data){
if(data){
//do your stuff
this.presentPrompt();//which creats an new promt
}else{
//do your stuff
//if you don't want then we are not calling if you want you can call.
}
}