【发布时间】:2021-06-09 17:30:42
【问题描述】:
是否可以使用提示本身内的唯一按钮来修改警报控制器中的输入类型?
问题:
- 我想在用户按下查看密码按钮时将输入类型“密码”更改为“文本”。您对此有何建议?
更改密码代码(profile.ts)
async changePassword(){
let alert = await this.alertCtrl.create({
header: 'Change Password',
subHeader: 'Fill up the fields.',
inputs: [
{
name: 'oldPassword',
placeholder: 'Old Password.',
type: 'password'
},
{
name: 'newPassword',
placeholder: 'New Password.',
type: 'password',
value: this.generatePassword(8) //This generate the password
},
{
name: 'newPasswordConfirm',
placeholder: 'Confirm New Password',
type: 'password'
}
],
buttons: [
{
text: 'Cancel',
role: 'cancel',
handler: data => {
console.log('Cancel clicked.');
}
},
{
text: 'View Password',
handler: data => {
data.newPassword.type = 'text'; //Error exists
return false;
}
}
]
});
await alert.present();
}//
实际错误
【问题讨论】:
-
到目前为止你有什么尝试?
-
data.newPassword.type = 'text' 抛出错误。 “无法在警报控制器中的字符串上创建属性 'type'”
-
但是当您点击
View Password时,您的警报会自动消失。在这种情况下,您可以尝试PopoverController使用自定义组件 -
这是表格先生的完整代码。我将整个表单放在警报控制器中。
标签: angular firebase ionic-framework alert angularfire