当前位置:   article > 正文

element 表格分页 限制多选条数_el-table 翻页如何限制多选数

el-table 翻页如何限制多选数

效果图:

官方方法解释:

row-key

行数据的 Key,用来优化 Table 的渲染;在使用 reserve-selection 功能与显示树形数据时,该属性是必填的。类型为 String 时,支持多层访问:user.info.id,但不支持 user.info[0].id,此种情况请使用 Function
selection-change当选择项发生变化时会触发该事件
selectable仅对 type=selection 的列有效,类型为 Function,Function 的返回值用来决定这一行的 CheckBox 是否可以勾选
reserve-selection仅对 type=selection 的列有效,类型为 Boolean,为 true 则会在数据更新之后保留之前选中的数据(需指定 row-key
  

案例:

  1. <template>
  2. <div>
  3. <el-table
  4. ref="multipleTable"
  5. :data="tableData"
  6. tooltip-effect="dark"
  7. style="width: 100%"
  8. @selection-change="handleSelectionChange">
  9. <el-table-column
  10. align="center"
  11. type="selection"
  12. :selectable="selectable"
  13. :reserve-selection="true"
  14. width="55">
  15. </el-table-column>
  16. <el-table-column min-width="200" prop="id" label="商品信息"></el-table-column>
  17. </el-table>
  18. </div>
  19. </template>
  20. <script>
  21. export default {
  22. data() {
  23. return {
  24. tableData: [
  25. {id: 1},
  26. {id: 2},
  27. {id: 3},
  28. {id: 4},
  29. {id: 5},
  30. {id: 6},
  31. {id: 7},
  32. {id: 8},
  33. {id: 9},
  34. ],
  35. multipleSelectionList: [],
  36. limitNum: 2, //限制数量
  37. }
  38. },
  39. methods: {
  40. // 限制数量方法
  41. limitFn (list) {
  42. this.$refs.multipleTable.clearSelection();
  43. for (let i = 0; i < this.limitNum; i++) {
  44. this.$refs.multipleTable.toggleRowSelection(list[i]);
  45. }
  46. },
  47. // 判断复选框是否可以选择
  48. selectable (row) {
  49. let index = this.multipleSelectionList.findIndex(v => v.id === row.id)
  50. if (this.multipleSelectionList.length >= this.limitNum) {
  51. if (index !== -1) {
  52. return true
  53. } else {
  54. return false
  55. }
  56. } else {
  57. return true
  58. }
  59. },
  60. // 绑定表格key,用于翻页后也不会丢失表格状态
  61. getRowKey (row) {
  62. return row.id
  63. },
  64. // 回调表格选择的数据
  65. handleSelectionChange (list) {
  66. if (list.length > this.limitNum) {
  67. this.limitFn(list)
  68. return
  69. }
  70. this.multipleSelectionList = [...list];
  71. },
  72. }
  73. }
  74. </script>

limitNum 就是需要限制的数量

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/103234
推荐阅读
相关标签
  

闽ICP备14008679号