更改菜单加载方式,同步加载时仍然可以渲染

develop
sassassin 2020-10-12 08:04:24 +08:00
parent 20fb87ee0e
commit e5755e2936
2 changed files with 25 additions and 19 deletions

View File

@ -43,10 +43,10 @@ layui.define(['table', 'jquery', 'element', 'form', 'tab', 'menu', 'frame'],
parseData: false,
change:function(){
compatible();
},done(){
sideMenu.selectItem(param.menu.select);
}
})
},
done:function(){}
});
sideMenu.selectItem(param.menu.select);
}
this.bodyRender = function(param) {

View File

@ -24,29 +24,19 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
height: opt.height,
theme: opt.theme,
data: opt.data ? opt.data : [],
change: opt.change ? opt.change : function() {
},
change: opt.change ? opt.change : function() {},
done: opt.done ? opt.done : function() {}
}
if (option.async) {
getData(option.url).then(function(data){
option.data = data;
if (option.parseData != false) {
option.parseData(option.data);
}
if (option.data.length > 0) {
if (option.control != false) {
createMenuAndControl(option);
} else {
createMenu(option);
}
}
element.init();
downShow(option);
option.done();
renderMenu(option);
});
} else {
renderMenu(option);
}
return new pearMenu(opt);
}
@ -150,6 +140,22 @@ layui.define(['table', 'jquery', 'element'], function(exports) {
return defer.promise();
}
function renderMenu(option){
if (option.parseData != false) {
option.parseData(option.data);
}
if (option.data.length > 0) {
if (option.control != false) {
createMenuAndControl(option);
} else {
createMenu(option);
}
}
element.init();
downShow(option);
option.done();
}
function createMenu(option) {
var menuHtml = '<ul lay-filter="' + option.elem +
'" class="layui-nav arrow pear-menu layui-nav-tree pear-nav-tree">'