mirror of https://github.com/layui/layui
refactor(component): 剔除 isRenderOnEvent, isRenderWithoutElem 选项 (#2625)
parent
394b313fcc
commit
82a1c8f697
|
@ -53,34 +53,6 @@ CONST: {
|
||||||
<td>-</td>
|
<td>-</td>
|
||||||
</tr>
|
</tr>
|
||||||
<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>isDeepReload <br><sup>实验性</sup></td>
|
||||||
<td>
|
<td>
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,6 @@ layui.define(['jquery', 'lay'], function(exports) {
|
||||||
exports('component', function(settings) {
|
exports('component', function(settings) {
|
||||||
// 默认设置
|
// 默认设置
|
||||||
settings = $.extend(true, {
|
settings = $.extend(true, {
|
||||||
isRenderWithoutElem: false, // 渲染是否无需指定目标元素
|
|
||||||
isRenderOnEvent: true, // 渲染是否仅由事件触发。--- 推荐根据组件类型始终显式设置对应值
|
|
||||||
isDeepReload: false // 是否默认为深度重载
|
isDeepReload: false // 是否默认为深度重载
|
||||||
}, settings);
|
}, settings);
|
||||||
|
|
||||||
|
@ -153,21 +151,11 @@ layui.define(['jquery', 'lay'], function(exports) {
|
||||||
settings.beforeRender.call(that, options);
|
settings.beforeRender.call(that, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 执行渲染
|
// 渲染
|
||||||
var render = function() {
|
if (typeof settings.render === 'function') {
|
||||||
component.cache.id[options.id] = null; // 记录所有实例 id,用于批量操作(如 resize)
|
component.cache.id[options.id] = null; // 记录所有实例 id,用于批量操作(如 resize)
|
||||||
elem.attr(MOD_ID, options.id); // 目标元素已渲染过的标记
|
elem.attr(MOD_ID, options.id); // 目标元素已渲染过的标记
|
||||||
that.render(rerender); // 渲染核心
|
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) {
|
component.removeInst = function(id) {
|
||||||
delete instance.that[id];
|
delete instance.that[id];
|
||||||
|
delete component.cache.id[id];
|
||||||
};
|
};
|
||||||
|
|
||||||
// 组件缓存
|
// 组件缓存
|
||||||
|
|
|
@ -28,8 +28,6 @@ layui.define('component', function(exports) {
|
||||||
CARD: 'layui-tabs-card'
|
CARD: 'layui-tabs-card'
|
||||||
},
|
},
|
||||||
|
|
||||||
isRenderOnEvent: false,
|
|
||||||
|
|
||||||
// 渲染
|
// 渲染
|
||||||
render: function() {
|
render: function() {
|
||||||
var that = this;
|
var that = this;
|
||||||
|
|
Loading…
Reference in New Issue