我得到了以下代码来展示对话,但是在第一次点击后,对话框不会显示在用户界面中。
$('#wayneDialog').kendoDialog({
width: '400px',
title: $scope.resourceString.Delete_Confirm_Title+ "'"+ name +"'?",
closable: true,
modal: true,
content: $scope.resourceString.Delete_confirm_Content,
actions: [
{
text: $scope.resourceString.Yes,
action: $scope.onDeleteConfirm,
primary: true
},
{
text: $scope.resourceString.Cancel
}
]
});
我不确定在这种情况下是否需要做额外的事情。
答案 0 :(得分:4)
我明白了。 Kendo Dialog在我的调用函数中反复初始化。 更改了代码以仅初始化Kendo Dialog一次,然后在调用Kendo Dialog Open函数之前更新了Title和Dialog。
答案 1 :(得分:0)
我们需要销毁div并在close事件上再次添加它。
$('#wayneDialog').kendoDialog({
width: '400px',
title: $scope.resourceString.Delete_Confirm_Title+ "'"+ name +"'?",
closable: true,
modal: true,
content: $scope.resourceString.Delete_confirm_Content,
close: function () {
if ($('#wayneDialog').data("kendoDialog")) {
$('#wayneDialog').data("kendoDialog").destroy();
$('<div id="wayneDialog"/>').appendTo('body');
}
return;
}
actions: [
{
text: $scope.resourceString.Yes,
action: $scope.onDeleteConfirm,
primary: true
},
{
text: $scope.resourceString.Cancel
}
]
});
答案 2 :(得分:0)
显式设置visible: true
选项应该可以解决问题:
$('#wayneDialog').kendoDialog({
visible: true,
width: '400px',
title: $scope.resourceString.Delete_Confirm_Title+ "'"+ name +"'?",
closable: true,
modal: true,
content: $scope.resourceString.Delete_confirm_Content,
actions: [
{
text: $scope.resourceString.Yes,
action: $scope.onDeleteConfirm,
primary: true
},
{
text: $scope.resourceString.Cancel
}
]
});