欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 如何使用el-table的多选框

如何使用el-table的多选框

2025/2/10 15:09:48 来源:https://blog.csdn.net/m0_52872381/article/details/145498562  浏览:    关键词:如何使用el-table的多选框

 对el-table再次封装,使得功能更加强大!

        本人在使用el-table时,因为用到分页,导致上一页勾选的数据在再次返回时,没有选中,故在原有el-table组件的基础之上再次进行了封装。

1.首先让某些不需要勾选的列表进行多选框禁用

:selectable="isRowSelectable"

const isRowSelectable = (row) => {

  return row.balance !== 0

}

2.通过select这个api来实现选择框的勾选

const selectAssessRow = (selection, val) => {// checked.value = selectionconsole.log('selection',selection)console.log('val',val)// console.log('是否',assessIds.value.includes(val.id));const index = checkedReward.value?.findIndex((item) => item.id === val.id)if (index !== -1) {checkedReward.value.splice(index, 1)} else {checkedReward.value.push(val)}console.log('checkedReward',checkedReward.value);assessmentUnits.value = checkedReward.value?.map((item) => item.id)// Assessment.value = checkedReward.value
}

3.实现全选功能

const selectAssessRowAll = (selection) => { if (!selection.length) {noticeList.value.forEach((item) => {const index = checkedReward.value?.findIndex((val) => val.id === item.id)if (index !== -1) {checkedReward.value.splice(index, 1)}})} else {selection.forEach((item) => {const index = checkedReward.value?.findIndex((val) => val.id === item.id)if (index !== -1) {checkedReward.value.splice(index, 1)}checkedReward.value.push(item)})}}

3.勾选后的数据可进行回显

4.在打开弹窗前要进行选中的数据取消勾选

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com