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

elementui selectable

2026-01-15 19:03:39前端教程

ElementUI Selectable 功能实现

ElementUI 的 selectable 属性通常用于控制某些组件(如表格或树形控件)中的行或节点是否可以被选中。以下是几种常见场景的实现方法。

表格行可选配置

在 ElementUI 表格中,通过 row-keyselection-change 事件实现行的可选功能。selectable 可以通过函数控制某一行是否可被选中。

elementui selectable

<el-table
  :data="tableData"
  @selection-change="handleSelectionChange"
  row-key="id">
  <el-table-column
    type="selection"
    :selectable="checkSelectable"
    width="55">
  </el-table-column>
  <!-- 其他列 -->
</el-table>
methods: {
  checkSelectable(row, index) {
    // 只有 id 不为 1 的行可选
    return row.id !== 1;
  },
  handleSelectionChange(val) {
    this.selectedRows = val;
  }
}

树形控件节点可选

el-tree 中,通过 show-checkboxcheck-strictly 属性控制节点的可选性。selectable 可以通过 disabled 属性实现。

elementui selectable

<el-tree
  :data="treeData"
  show-checkbox
  node-key="id"
  :props="defaultProps"
  :default-checked-keys="checkedKeys"
  @check="handleCheck">
</el-tree>
data() {
  return {
    treeData: [
      {
        id: 1,
        label: '一级节点',
        children: [
          { id: 2, label: '二级节点', disabled: true } // 禁用该节点
        ]
      }
    ],
    defaultProps: {
      children: 'children',
      label: 'label',
      disabled: 'disabled' // 通过 disabled 字段控制是否可选
    }
  };
}

下拉选择框禁用选项

el-select 中,通过 disabled 属性控制某些选项是否可选。

<el-select v-model="selectedValue" placeholder="请选择">
  <el-option
    v-for="item in options"
    :key="item.value"
    :label="item.label"
    :value="item.value"
    :disabled="item.disabled"> <!-- 禁用特定选项 -->
  </el-option>
</el-select>
data() {
  return {
    selectedValue: '',
    options: [
      { value: '1', label: '选项1' },
      { value: '2', label: '选项2', disabled: true } // 该选项不可选
    ]
  };
}

自定义选择逻辑

通过事件和方法动态控制选择行为,例如在表格中根据条件禁止选中某些行。

methods: {
  handleSelectionChange(selection) {
    // 过滤掉不符合条件的行
    this.selectedRows = selection.filter(row => row.status === 'active');
  }
}

以上方法覆盖了 ElementUI 中常见的 selectable 功能实现场景,可以根据具体需求选择适合的方式。

分享给朋友:

相关文章

vue实现selectable

vue实现selectable

Vue 实现可选择的 Select 组件 在 Vue 中实现一个可选择的 Select 组件,可以通过以下几种方式: 使用原生 HTML select 元素 <template>…

elementui获取input的值

elementui获取input的值

获取 input 值的常用方法 在 Element UI 中,可以通过 v-model 双向绑定或 ref 引用的方式获取 input 组件的值。 使用 v-model 双向绑定 <…

elementui table

elementui table

ElementUI Table 基本用法 ElementUI 的 Table 组件用于展示结构化数据,支持排序、筛选、分页等功能。以下是一个基础示例: <template> &…

iview elementui

iview elementui

iview与Element UI对比 iview和Element UI都是基于Vue.js的UI组件库,适用于快速开发企业级中后台产品。以下是两者的主要差异和特点: 设计风格 iview采用圆…

vue elementui

vue elementui

Vue 中使用 Element UI Element UI 是一套基于 Vue 2.0 的桌面端组件库,提供丰富的 UI 组件和交互功能。以下是如何在 Vue 项目中集成和使用 Element UI…

elementui vue2

elementui vue2

使用 Element UI 与 Vue 2 的指南 Element UI 是一个基于 Vue 2 的组件库,专为开发者、设计师和产品经理设计,提供丰富的组件和交互方式。 安装 Element UI…