首页 文章

打开页面时,Clarity Wizard不会打开

提问于
浏览
0

因此,我有一个带有提交按钮的登录页面,只要用户名和密码正确就会加载新页面 . 这工作正常,但在下一页我想要一个向导弹出 .

我正在使用 Angular VMWare Clarity .

问题是,如果我把:

<button [disabled]="loading" class="btn btn-primary" (click)="wizard.open()">
    Login
</button>

这会重定向到向导而不先进行身份验证 . 因此,如果用户名和密码不正确则无关紧要 .

表格提交正确后,您知道还有其他方法可以弹出向导吗?或者,如果我可以以某种方式使表单提交后向导弹出而不需要按钮功能吗?

1 回答

  • 2

    因此,单击按钮时会触发 (click)="wizard.open()" 事件处理程序,而不是在表单响应后触发 . 这不是Clarity特有的,只是JavaScript中事件的逻辑顺序 . 在收到响应之前,点击几乎总是会触发,因此您希望在收到响应时处理打开向导 .

    有两种基本方法 . 1)在输入绑定中设置打开状态或2)获取向导组件并以编程方式调用open方法 .

    • 您的向导应将 [(clrWizardOpen)] 绑定设置为值,例如 <clr-wizard [(clrWizardOpen)]="wizardState"> . 处理响应时,可以设置 this.wizardState = true 以触发向导打开 .

    • 在控制器中,您可以使用 @ViewChild(ClrWizard) wizard: ClrWizard; 在控制器上设置具有向导引用的属性 . 然后在您的响应处理程序中,您可以执行 this.wizard.open() 来打开它 .

相关问题