mirror of https://github.com/layui/layui
refactor(component): 剔除 isRenderOnEvent, isRenderWithoutElem 选项 (#2625)
parent
394b313fcc
commit
82a1c8f697
|
@ -53,34 +53,6 @@ CONST: {
|
|||
<td>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>isRenderWithoutElem <br><sup>实验性</sup></td>
|
||||
<td>
|
||||
|
||||
渲染是否无需指定目标元素。即无需设置 `elem` 选项,一般用于渲染即显示的组件类型。
|
||||
|
||||
</td>
|
||||
<td>boolean</td>
|
||||
<td>
|
||||
|
||||
`false`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>isRenderOnEvent <br><sup>实验性</sup></td>
|
||||
<td>
|
||||
|
||||
渲染是否由事件触发。如 `dropdown` 这类通过点击触发的组件,那么应该设置为 `true`;而诸如 `tabs` 这类初始即展示的组件,则应该设置为 `false`。*推荐根据组件类型始终显式设置对应值*。
|
||||
|
||||
</td>
|
||||
<td>boolean</td>
|
||||
<td>
|
||||
|
||||
`true`
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>isDeepReload <br><sup>实验性</sup></td>
|
||||
<td>
|
||||
|
||||
|
|
|
@ -13,8 +13,6 @@ layui.define(['jquery', 'lay'], function(exports) {
|
|||
exports('component', function(settings) {
|
||||
// 默认设置
|
||||
settings = $.extend(true, {
|
||||
isRenderWithoutElem: false, // 渲染是否无需指定目标元素
|
||||
isRenderOnEvent: true, // 渲染是否仅由事件触发。--- 推荐根据组件类型始终显式设置对应值
|
||||
isDeepReload: false // 是否默认为深度重载
|
||||
}, settings);
|
||||
|
||||
|
@ -107,7 +105,7 @@ layui.define(['jquery', 'lay'], function(exports) {
|
|||
};
|
||||
|
||||
// 初始化准备(若由事件触发渲染,则必经此步)
|
||||
Class.prototype.init = function(rerender, type){
|
||||
Class.prototype.init = function(rerender, type) {
|
||||
var that = this;
|
||||
var options = that.config;
|
||||
var elem = $(options.elem);
|
||||
|
@ -153,21 +151,11 @@ layui.define(['jquery', 'lay'], function(exports) {
|
|||
settings.beforeRender.call(that, options);
|
||||
}
|
||||
|
||||
// 执行渲染
|
||||
var render = function() {
|
||||
// 渲染
|
||||
if (typeof settings.render === 'function') {
|
||||
component.cache.id[options.id] = null; // 记录所有实例 id,用于批量操作(如 resize)
|
||||
elem.attr(MOD_ID, options.id); // 目标元素已渲染过的标记
|
||||
that.render(rerender); // 渲染核心
|
||||
};
|
||||
|
||||
// 若绑定元素不存在
|
||||
if (!elem[0]) {
|
||||
return settings.isRenderWithoutElem ? render() : null; // 渲染是否无需指定目标元素
|
||||
};
|
||||
|
||||
// 执行渲染 - 是否初始即渲染组件
|
||||
if((settings.isRenderOnEvent && options.show) || !settings.isRenderOnEvent) {
|
||||
render();
|
||||
}
|
||||
|
||||
// 事件
|
||||
|
@ -232,6 +220,7 @@ layui.define(['jquery', 'lay'], function(exports) {
|
|||
// 移除指定的实例对象
|
||||
component.removeInst = function(id) {
|
||||
delete instance.that[id];
|
||||
delete component.cache.id[id];
|
||||
};
|
||||
|
||||
// 组件缓存
|
||||
|
|
|
@ -28,8 +28,6 @@ layui.define('component', function(exports) {
|
|||
CARD: 'layui-tabs-card'
|
||||
},
|
||||
|
||||
isRenderOnEvent: false,
|
||||
|
||||
// 渲染
|
||||
render: function() {
|
||||
var that = this;
|
||||
|
|
Loading…
Reference in New Issue