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