2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > element table多选表格_VUE+elementUI表格多选框实现单选

element table多选表格_VUE+elementUI表格多选框实现单选

时间:2021-05-13 18:26:10

相关推荐

element table多选表格_VUE+elementUI表格多选框实现单选

>

@select-all="onSelectAll" 全选是触发的事件

@selection-change="selectItem" 单个去勾选时触发的事件

@row-click="onSelectOp" 点击那一行数据触发的事件

ref="multipleTable"

ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实

注意:只要想要在Vue中直接操作DOM元素,就必须用ref属性进行注册

1、@select-all="onSelectAll"

全选是触发自定义的onSelectAll() 函数,把所有选项清空,

this.$refs.multipleTable.clearSelection();clearSelection()这个函数是自带的,比如日期的getFullYear()

2、@selection-change="selectItem"

单个去勾选时触发自定义的selectItem函数

@selection-change事件会默认传行数据进去,用selectItem(rows)的rows接收就好,rows所选行数据的数组

this.$refs.multipleTable.toggleRowSelection(it, true);

toggleRowSelection这个函数需要传某行数据,true表示勾选,false表示不勾选

selectItem这个函数我自定义了,一旦勾选多于一行数据,就把上一个勾选去掉,保留最后一个勾选,用过滤器来过滤,把新的(只有一行数据)的数组赋给自定义的数组,方便调用

3、@row-click="onSelectOp"

点击那一行数据触发的事件默认传点击那行的数据,自定义onSelectOp(row)函数,

用row来接收点击的那行数据,

先把所有的选项清空this.$refs.multipleTable.clearSelection();

再把点击的那行勾选this.$refs.multipleTable.toggleRowSelection(row, true);

把自定义数组清空this.selectlist = [];

把新勾选的数据push进数组this.selectlist.push(row);

methods: {

onSelectAll() {this.$refs.multipleTable.clearSelection();

},

selectItem(rows) {if (rows.length > 1) {var newRows = rows.filter((it, index) =>{if (index == rows.length - 1) {this.$refs.multipleTable.toggleRowSelection(it, true);return true;

}else{this.$refs.multipleTable.toggleRowSelection(it, false);return false;

}

});this.selectlist =newRows;

}else{this.selectlist =rows;

}

},

onSelectOp(row) {this.$refs.multipleTable.clearSelection();this.$refs.multipleTable.toggleRowSelection(row, true);this.selectlist =[];this.selectlist.push(row);

},

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。