こんにちは私は基本的なダイアログを走らせることができますが、ダイアログを開いたままにして、それを閉じてください。それは可能ですか?aurelia-dialogが閉じるのを防ぐ
現在、[OK]ボタンをクリックすると、ダイアログが即座に削除されます。
基本的には、ダイアログボックスをユーザー名/パスワードのログインボックスとして使用します。ログインに失敗した場合は、ダイアログにエラーメッセージを表示し、閉じないでください。
マイテンプレートは
<template>
<ai-dialog>
<ai-dialog-header>
</ai-dialog-header>
<ai-dialog-body>
<h2>Username:</h2>
<input value.bind="auth.username" attach-focus="true" />
<br />
<h2>Password:</h2>
<input value.bind="auth.password" attach-focus="false" />
<br /><br />
<span innerhtml.bind="auth.error">No Error</span>
</ai-dialog-body>
<ai-dialog-footer>
<button click.trigger="controller.ok(auth)">Ok</button>
</ai-dialog-footer>
</ai-dialog>
</template>
と私は
let auth = { username: 'Wade', password: 'Watts', error : ""};
this.dialogService.openAndYieldController({viewModel: Login, model: auth}).then(controller => {
// Note you get here when the dialog is opened, and you are able to close dialog
// Promise for the result is stored in controller.result property
controller.result.then((response) => {
if (!response.wasCancelled) {
console.log('good');
} else {
console.log('bad');
}
console.log(response);
})
});
おかげ
openAndYieldController()を使用してください。(https://github.com/aurelia/dialog#getting-access-to-dialogcontroller-api-outside) – valichek
私はopenAndYieldControllerを使って試してみたはずです。私は質問を編集しました。 –
あなたはどの画面をあなたのダイアログの中にロードしていますか?あなたは、ダイアログ内のviewmodelを通してこれを制御できるはずです。 –