0

我正在将 AUI 弹出对话框窗口从 liferay 6.1 迁移到 liferay 6.2。我看到有一些具体的改变要做。我在显示按钮时遇到了一些问题,但现在已解决。但问题在于应该在右上角的关闭图标 (x)。我一添加保存按钮,它就突然消失了。

这是我的代码:

myPopup = AUI().use('aui-base','liferay-util-window','aui-io-deprecated', 'event', 'event-custom', function(A) {
    var buttons =[{
        cssClass: 'button_close',
        label: 'Save',
        render:true,
        id: 'myPopupButton',
        on: {
        click: function() {
            myPopupSubmit();
        }}
    }];

myPopup = Liferay.Util.Window.getWindow(
{
    dialog: {
        title : a + ' mytitle',
        centered : true,
        height : 600,
        width : 500,
        draggable : true,
        resizable : true,
        modal : true,
        toolbars: {
            footer:buttons
        },

    }}).plug(A.Plugin.IO, {
        uri : url
    }).render();
    myPopup.show(); 
});
}

如果您对此有任何想法,请告诉我。

关于myPopupSubmit我还编写了代码来关闭弹出窗口:

top.document.getElementById('closethick').click();

由于没有closethick按钮它返回null

4

1 回答 1

2

使用模态对话框示例作为对比,使用属性X时关闭按钮被移除。toolbars

查看该属性的源代码toolbars(撰写本文时的第 309 行)表明,如果您直接使用该属性,则需要X在标题中包含您自己的关闭。

另一种方法是使用该addToolbar功能(如示例中所示)buttons在保留默认工具栏的同时包含您的。

modal.addToolbar([{
 cssClass: 'button_close',
 label: 'Save',
 render:true,
 id: 'myPopupButton',
 on: {
       click: function() {
         myPopupSubmit();
       }
     }
}]);

我还会考虑使对话框的实例可用于您的myPopupSubmit函数,以便您可以直接访问执行dialog.hide()或调用dialog.hide()myPopupSubmit而不是使用X关闭方法。

如果坚持当前的方法,正在使用的 id 将不起作用,您需要使用 CSS 选择器,因为基于 YUI 的 id 会改变。

于 2014-06-24T15:31:55.977 回答