0


Element UI 的 <el-table> 组件中选择框如何只能选择一个

在 Element UI 的

  1. <el-table>

组件中,

  1. @selection-change

事件通常用于处理表格中选择框的状态变化。如果希望在表格中只能选择一个选项,可以通过以下方法实现:

  1. 使用 @selection-change 事件:在事件处理函数中确保用户只能选择一个选项。
  2. 设置选择模式:Element UI 表格的选择模式有两种:单选和多选。为了实现单选,你可以使用 type="selection" 属性配合 @selection-change

以下是一个示例,展示了如何确保用户只能选择一个选项:

示例代码

  1. <template>
  2. <el-table
  3. ref="renewalTable"
  4. :data="renewalData"
  5. border
  6. style="width: 100%; margin-top: 15px;"
  7. @selection-change="handleSelectionChange"
  8. :header-cell-style="{ background: '#F9FAFC', color: 'black' }"
  9. class="xw-publabel renewalTable"
  10. :row-key="rowKey"
  11. >
  12. <el-table-column
  13. type="selection"
  14. width="55"
  15. :selectable="selectable"
  16. ></el-table-column>
  17. <!-- 其他列 -->
  18. <el-table-column prop="name" label="Name"></el-table-column>
  19. <el-table-column prop="age" label="Age"></el-table-column>
  20. </el-table>
  21. </template>
  22. <script>
  23. export default {
  24. data() {
  25. return {
  26. renewalData: [
  27. // 示例数据
  28. { name: 'John', age: 30 },
  29. { name: 'Jane', age: 25 },
  30. { name: 'Tom', age: 40 }
  31. ],
  32. selectedRows: [],
  33. };
  34. },
  35. methods: {
  36. handleSelectionChange(selectedRows) {
  37. if (selectedRows.length > 1) {
  38. // 只保留最新选择的项
  39. this.$refs.renewalTable.clearSelection();
  40. this.$refs.renewalTable.toggleRowSelection(selectedRows[selectedRows.length - 1]);
  41. }
  42. // 记录选择的行
  43. this.selectedRows = selectedRows;
  44. console.log('Selected rows:', this.selectedRows);
  45. },
  46. selectable(row, index) {
  47. // 可根据需求调整选中状态
  48. return true;
  49. },
  50. rowKey(row){
  51. return row.id
  52. }
  53. }
  54. };
  55. </script>

解释

  1. @selection-change 事件处理函数:- 在 handleSelectionChange 方法中,我们检查 selectedRows 数组的长度。如果长度大于 1,清除当前选择并只保留最后一个选中的项。
  2. 清除选择:- this.$refs.renewalTable.clearSelection() 用于清除所有选择。- this.$refs.renewalTable.toggleRowSelection() 用于重新选择最后一个选中的行。
  3. row-key 属性:- row-key 确保每一行有唯一标识符,有助于维护正确的选择状态。
  4. selectable 属性:- 可选属性用于控制是否可以选择行。此处返回 true 允许所有行被选择。

使用这种方式,可以确保用户在表格中只能选择一个选项。如果你需要进一步调整或优化,根据你的具体需求修改

  1. handleSelectionChange

方法即可。

标签: vue.js javascript

本文转载自: https://blog.csdn.net/hanhanbeibeiya/article/details/141674809
版权归原作者 小丸子灬 所有, 如有侵权,请联系我们删除。

“Element UI 的 <el-table> 组件中选择框如何只能选择一个”的评论:

还没有评论