diff --git a/docs/component/detail/options.md b/docs/component/detail/options.md index 592584e8..19ad6e8f 100644 --- a/docs/component/detail/options.md +++ b/docs/component/detail/options.md @@ -53,34 +53,6 @@ CONST: { - -isRenderWithoutElem
实验性 - - -渲染是否无需指定目标元素。即无需设置 `elem` 选项,一般用于渲染即显示的组件类型。 - - -boolean - - -`false` - - - - -isRenderOnEvent
实验性 - - -渲染是否由事件触发。如 `dropdown` 这类通过点击触发的组件,那么应该设置为 `true`;而诸如 `tabs` 这类初始即展示的组件,则应该设置为 `false`。*推荐根据组件类型始终显式设置对应值*。 - - -boolean - - -`true` - - - - isDeepReload
实验性 diff --git a/src/modules/component.js b/src/modules/component.js index e893a5bf..6a5b46f1 100644 --- a/src/modules/component.js +++ b/src/modules/component.js @@ -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]; }; // 组件缓存 diff --git a/src/modules/tabs.js b/src/modules/tabs.js index 59c90f8d..11cce8dc 100644 --- a/src/modules/tabs.js +++ b/src/modules/tabs.js @@ -28,8 +28,6 @@ layui.define('component', function(exports) { CARD: 'layui-tabs-card' }, - isRenderOnEvent: false, - // 渲染 render: function() { var that = this;