设为首页 加入收藏

TOP

Element-UI 2.4.11 版本 使用注意(发现一点更新一点)
2019-09-17 18:27:02 】 浏览:11
Tags:Element-UI 2.4.11 版本 使用 注意 发现 一点 更新

1.$Vue.$refs.addForm.resetFields() 的resetFields()方法重置到默认值并不是 ,你在form绑定对象上写的默认值 ,而是这个form被渲染出来之后第一次赋到对象上的值  !!

2.组件属性命名使用驼峰型式 ,但在组件上设置值时要用 - 把每个单词分开 如下面的属性,设置属性值 为:<el-grid   v-bind:auto-load="false" >

props: {
//gird加载完是否默认加载数据
autoLoad: {
type: Boolean,
default: true
}
}

3. 当使用table的展开功能时,如果展开的内容是动态加载的,不要把该内容放到行内对象中,否则赋值时会把行重新渲染,导致加载时看上去展不开的样子(如果展开时第一次展不开后面正常 可以考虑看是不是这个问题)如下图

 

4. 使用tabs时 如果子选项卡有按条件显示,前面的要用v-show来隐藏不能是v-if 否则 会提示key重复. 也可以手动设置name 属性来解决key重复的问题. 需要动态设置当前选中选项卡可以给它绑定value属性(v-model 不能动态绑定)

5.当table的列有动态操作时:

   如下代码: 

<el-table-column
:label="showFirst ? 'index/选择' : ''"
:type="!showFirst ? 'index' : ''"
fixed="left" 
width="120" >
<template v-if="showFirst" slot-scope="scope">
<label style="display:inline-block;width:25px;text-align:right">{{scope.$index+1}}</label>
&nbsp;&nbsp;/&nbsp;&nbsp;
<label>
<input type="checkbox" v-bind:value="scope.$index" class="check_mark" style="vertical-align:middle;" />
</label>
</template>
</el-table-column>

在这里使用插槽替换了当 showFirst=true时的内容. 但由于使用了 slot-scope 所以当type 切回 index时并不会生成索引,因为slot-scope会完全占用内容,不会因为v-if而去掉,  这时候只需要使用vue 2.6中的 v-slot 指令即可.如下

<el-table-column
:label="showFirst ? 'index/选择' : ''"
:type="!showFirst ? 'index' : ''"
fixed="left" 
width="120" >
<template v-if="showFirst" v-slot="scope">
<label style="display:inline-block;width:25px;text-align:right">{{scope.$index+1}}</label>
&nbsp;&nbsp;/&nbsp;&nbsp;
<label>
<input type="checkbox" v-bind:value="scope.$index" class="check_mark" style="vertical-align:middle;" />
</label>
</template>
</el-table-column>

 

6. 在使用 el-select 时会发现直接用js给select的Model属性赋值后不能触发他的 change事件. 现有以下方案来处理,主要是红色这一块代码. 以下示例是检查一个table中所有的select 然后让它触发事件,如果你直接 给select绑上ref也可以取出来直接调用

emitChange(); 大家不防试一下看看.

  

 var ch= vueObj.$refs.mainTable.$children;
                ch=ch[ch.length-1];
                var c;
                this.$nextTick(function(){
                    for (var i = 0; i < ch.$children.length; i++) {
                        c=ch.$children[i];
                        if (c.$vnode.tag.endsWith("ElSelect")) {
                            c.emitChange();
                        }
                    }
                });

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇78.3D立体轮播图(完整兼容手机端.. 下一篇简单理解Javascript闭包

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目