当前位置:首页 > 前端教程

elementui选中

2026-01-13 21:57:12前端教程

选中状态的基本用法

在Element UI中,选中状态通常通过v-model绑定数据实现。例如表格的多选功能,使用el-table组件配合type="selection"的列定义,结合v-model绑定选中的行数据数组。

<el-table :data="tableData" @selection-change="handleSelectionChange">
  <el-table-column type="selection" width="55"></el-table-column>
  <el-table-column prop="name" label="Name"></el-table-column>
</el-table>
export default {
  data() {
    return {
      tableData: [{ name: 'Item 1' }, { name: 'Item 2' }],
      selectedRows: []
    };
  },
  methods: {
    handleSelectionChange(val) {
      this.selectedRows = val;
    }
  }
};

单选与多选控制

  • 多选:默认启用,通过selection-change事件获取所有选中行。
  • 单选:设置highlight-current-row属性为true,通过current-change事件监听当前选中行。
<el-table :data="tableData" highlight-current-row @current-change="handleCurrentChange">
  <!-- 列定义 -->
</el-table>

默认选中项

通过reserve-selection属性或编程方式设置初始选中状态。例如表格中默认选中某些行:

this.$nextTick(() => {
  this.tableData.forEach((row, index) => {
    if (index === 0) {
      this.$refs.table.toggleRowSelection(row, true);
    }
  });
});

自定义选中逻辑

覆盖默认行为时,可使用selectable属性指定某行是否可选。例如禁止选中某些条件的数据:

elementui选中

<el-table-column type="selection" :selectable="checkSelectable"></el-table-column>
methods: {
  checkSelectable(row, index) {
    return row.status !== 'disabled';
  }
}

其他组件的选中状态

  • 下拉选择(Select):通过v-model绑定选中的值,支持多选时设置multiple属性。
  • 复选框(Checkbox):绑定布尔值或数组(多选组)。
  • 单选框(Radio):绑定单一值,通过v-modellabel属性匹配。
<el-select v-model="selectedOption" multiple>
  <el-option label="Option 1" value="1"></el-option>
</el-select>

<el-checkbox-group v-model="checkedList">
  <el-checkbox label="A"></el-checkbox>
</el-checkbox-group>

注意事项

  • 动态数据更新后,需调用doLayoutclearSelection等方法刷新选中状态。
  • 跨页多选需结合row-keyreserve-selection属性保持选中状态。

标签: elementui
分享给朋友:

相关文章

elementui响应式布局

elementui响应式布局

响应式布局基础概念 响应式布局指页面能够根据屏幕尺寸自动调整结构和样式,确保在不同设备上呈现良好的用户体验。Element UI 基于 Vue.js,其组件默认支持响应式设计,但需结合 CSS 媒体查…

selectable elementui

selectable elementui

使 ElementUI 组件可选中 ElementUI 默认情况下没有直接提供 selectable 功能的组件,但可以通过以下方法实现可选中效果。 使用 el-checkbox 实现单个选中 通过…

elementui rowspan

elementui rowspan

合并行(Rowspan)在 Element UI 表格中的实现 Element UI 的表格组件默认不直接支持 rowspan 属性,但可以通过自定义 span-method 方法实现合并行功能。以下…

elementui重构

elementui重构

Element UI 重构指南 Element UI 是一款基于 Vue.js 的组件库,重构通常涉及版本升级、性能优化或代码结构调整。以下是常见的重构方法和注意事项: 升级至 Element Pl…

elementui上线

elementui上线

Element UI 上线流程 Element UI 是一个基于 Vue.js 的桌面端组件库,上线流程涉及项目构建、测试、部署等环节。以下是关键步骤: 构建项目 使用 Vue CLI 或 webp…

elementui卡死

elementui卡死

问题描述 Element UI 卡死通常表现为页面无响应、操作延迟或组件渲染异常。可能的原因包括数据量过大、循环渲染、事件监听未销毁或版本兼容性问题。 常见原因及解决方法 数据量过大导致渲染卡顿 表…