做弹窗里有个表格多选时,经常遇到再次打开弹窗,
已选值赋值不上
的问题,这里简单记录一下解决方案。
element官方提供的例子经常是有各种问题的,这里经常是toggleSelection不生效
toggleRowSelection是用来控制table表格选择框回显的方法,这个方法有两个参数
toggleRowSelection(item, true)
,第一个参数是你准备
回显哪一项
,也就是表格对应的哪一行,第二个就是那个勾勾,true就是
勾选
上。
一般遇到的业务是,第一次打开选中了,然后有个列表回显选中的值,再有个编辑,点编辑回显选中的,然后就会遇到选中不生效的问题…
直接上解决方案:
1、**赋值前先清空值
clearSelection()
**
2、**在DOM节点更新后再进行赋值,这里使用nextTick
**
3、**进行赋值渲染选中toggleRowSelection(item, true)
**
// 我这里是用的el-dialog弹窗里的,所以在@open事件中处理onOpen(){constTABLE_DOM=this.$refs.multipleTable
const{ optCoupons }=thisif(TABLE_DOM){TABLE_DOM.clearSelection()this.$nextTick(_=>{
optCoupons.forEach(item=>{TABLE_DOM.toggleRowSelection(item,true)})})}}
版权归原作者 一只小白菜~ 所有, 如有侵权,请联系我们删除。