Javascript 如何保持对话框显示并提醒nativescript
大家好,我正在使用nativescript开发手机应用程序中的忘记密码,当用户在对话框中插入错误的电子邮件或错误的密码时,我想显示警告消息,但我无法做到这一点。有人能帮我吗Javascript 如何保持对话框显示并提醒nativescript,javascript,dialog,nativescript,alert,Javascript,Dialog,Nativescript,Alert,大家好,我正在使用nativescript开发手机应用程序中的忘记密码,当用户在对话框中插入错误的电子邮件或错误的密码时,我想显示警告消息,但我无法做到这一点。有人能帮我吗 let options: PromptOptions = { title: "Entrez votre nouveau mot de passe", okButtonText: "Suivant",
let options: PromptOptions = {
title: "Entrez votre nouveau mot de passe",
okButtonText: "Suivant",
cancelButtonText: "Annuler",
cancelable: true,
inputType: inputType.password,
capitalizationType: capitalizationType.none
}; prompt(options).then((pass: PromptResult) => {
if (pass.text && pass.result == true) {
let options: PromptOptions = {
title: "Entrez votre nouveau mot de passe de nouveau",
okButtonText: "Suivant",
cancelButtonText: "Annuler",
cancelable: true,
inputType: inputType.password,
capitalizationType: capitalizationType.none
}; prompt(options).then((pass2: PromptResult) => {
if (pass2.text && pass2.result == true) {
if (pass.text == pass2.text) {
this.auth.resetMDP(this.email, this.code, pass2)
.then((res: any) => {
if (res.message == 'OK')
alert('votre mot de passe a été changé avec succès')
}).catch((err: any) => { alert(err); })
} else alert("re-entrez le mot de passe correctement s'il vous plait");
}
})
}
});
因为我试图让它工作,但对话框总是关闭
在我的应用程序中,我使用modals来处理自定义对话框样式和特殊操作(因为您需要验证而不关闭对话框)。最简单的是: 这就是你所说的:
page.showModal(
"you/path/to/modal/directory",
{
// your binding context
},
() => {
// on close callback
}
);
假设您将模式布局设置为XML和代码隐藏(在我的示例中为Typescript):
let closeCallback:()=>void;
ShowNModly上的导出函数(args:any){
常量页面:页面=args.object;
const context=args.context;
//您传递的关闭回调逻辑
closeCallback=args.closeCallback;
//将上下文对象绑定到modal
page.bindingContext=fromObject(上下文);
}
导出函数onOkTap(args:EventData){
const page=args.object作为页面;
if(closeCallback!==null&&closeCallback!==未定义){
closeCallback();
}否则{
page.closeModal();
}
}
您的意思是,您希望对话框在按下“确定”按钮后保持打开状态,直到您以编程方式将其关闭?我的意思是在警报中单击“确定”时保持对话框打开,而不是输入对话框。我认为给定的api方法不可能做到这一点,如果输入为空,您可以再次显示对话框。Okayy thx。。。。。
<Page xmlns:RL="nativescript-ripple" xmlns="http://schemas.nativescript.org/tns.xsd" shownModally="onShownModally" >
<DockLayout stretchLastChild="false">
<Label dock="top" text="Hello Modal!!" horizontalAlignment="center" />
<TextView dock="top" text="{{ message }}" fontSize="15sp" horizontalAlignment="left" />
<Button dock="bottom" text="OK" tap="onOkTap" />
</DockLayout>
let closeCallback: () => void;
export function onShownModally(args: any) {
const page: Page = <Page>args.object;
const context = args.context;
// your close callback logic that you passed
closeCallback = args.closeCallback;
// bind you context object to modal
page.bindingContext = fromObject(context);
}
export function onOkTap(args: EventData) {
const page = args.object as Page;
if (closeCallback !== null && closeCallback !== undefined) {
closeCallback();
} else {
page.closeModal();
}
}