【发布时间】:2020-01-21 11:30:52
【问题描述】:
我有带有表单的选项卡,我想要求用户在更改选项卡时确认或放弃他们的更改。我当前的代码有效
<uib-tab heading="..." index="3" deselect="main.onDeselect($event)" ... >
this.onDeselect = function($event) {
if(...isDirty...) {
if($window.confirm("Do you want to discard?")) {
... discard (and go to new tab) ...
} else {
$event.preventDefault(); //stays on current tab
}
}
}
问题是我想将确认更改为 javascript 对话框,我会在回调中得到结果。
我打算preventDefault() all 然后手动切换,但我不知道从哪里获得新的标签 ID。
感谢任何解决方案。即使在其他选项卡实现中更容易。
我使用 AngularJS v1.4.7,ui-bootstrap-tpls-1.3.3.min.js
【问题讨论】:
-
为什么要手动切换?当前仅阻止基于对话响应进行切换的方法是否不起作用?
-
它可以工作,但所有浏览器都允许用户摆脱 widnow 确认对话框,我无法更改它。这就是我想切换到 MaterialDesign 确认对话框的原因。然后在回调中调用 preventDefault() 为时已晚。
标签: angularjs tabs angular-bootstrap