logo

Element-UI中的Table组件实现多选、翻页记忆选中复选框

作者:起个名字好难2024.01.08 05:41浏览量:27

简介:在Element-UI的Table组件中实现多选功能并不困难,但是要在翻页时记忆选中复选框的状态,就需要一些额外的逻辑处理。本文将介绍如何实现这一功能。

Element-UI是一款基于Vue.js的组件库,提供了丰富的UI组件,包括Table组件。在Table组件中实现多选功能非常简单,只需要在列定义中添加一个type='selection'的列即可。但是,如何在翻页时记忆选中复选框的状态,是一个比较复杂的问题。
要实现这一功能,我们可以利用Element-UI提供的selection事件和current-change事件,结合Vue的动态数据属性来实现。下面是一个简单的示例代码:

  1. <template>
  2. <el-table
  3. :data="tableData"
  4. @selection="handleSelection"
  5. ref="multipleTable"
  6. >
  7. <el-table-column
  8. type="selection"
  9. width="55"
  10. >
  11. </el-table-column>
  12. <el-table-column
  13. prop="date"
  14. label="日期"
  15. width="180"
  16. >
  17. </el-table-column>
  18. <el-table-column
  19. prop="name"
  20. label="姓名"
  21. width="180"
  22. >
  23. </el-table-column>
  24. </el-table>
  25. </template>
  26. <script>
  27. export default {
  28. data() {
  29. return {
  30. multipleSelection: [],
  31. tableData: [], // 这里是你的表格数据
  32. currentPage: 1,
  33. pageSize: 10,
  34. };
  35. },
  36. methods: {
  37. handleSelection(val) {
  38. this.multipleSelection = val;
  39. // 更新当前页的选中状态
  40. this.$refs.multipleTable.clearSelection();
  41. this.multipleSelection.forEach(item => {
  42. this.$refs.multipleTable.toggleRowSelection(item, true);
  43. });
  44. },
  45. // 翻页时更新选中状态
  46. handleCurrentChange(val) {\n

相关文章推荐

发表评论