用element-ui ELDialog和ELTable 反选无法渲染的问题

博客围绕Element UI表格复选框默认选中问题展开。在column设置复选框后,文档未提及默认选中方法,可通过ELTable的toggleRowSelection方法手动选中,但因table在dialog里存在ref注册问题。最终采用定时器解决,还说明了调换行顺序时reserve - selection和rowKey的使用要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述场景
1、在column中设置type="selection"可以用checkbox复选框2、element-ui文档中没有交代怎样根据数据源默认选中复选框3、但是可以考虑用ELTable的toggleRowSelection方法在合适的时间手动选中4、如果要用ELTable的方法,就需要用注册ref,才能在其父组件中调用其方法5、此时发现table是在dialog里面的,如果dialog不打开,table的ref是注册不了的(可以给dialog的visible默认为true,但是又有个问题是页面加载出来dialog就打开了,就算在第一时间关掉,还是会闪屏一下)

在这里插入图片描述

解决方法
6、可以用一个定时器来解决问题,虽然很low,但是效果显著,此过程响应很快,用户感知不到是默认选中还是加载之后手动选中7、(提下此处需求:用户可以选中任意复选框,可以交换任意相邻行顺序,取消按钮取消操作,保存按钮提交选中的行)至于注释中说到,此处要用reserve-selection且不能用rowKey,原因是在调换表格行顺序时,如果未设置reserve-selection,将会丢失表格中所有的复选框选中状态。如果设置了rowKey,在用户选中某行(原状态未选中)并取消提交后,再次打开dialog并渲染表格时,该行为默认选中状态。所以此处不必理会element-ui在控制台报出的“如果设置了reserve-selection,rowKey为必选项”警告

原文地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值