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

elementui selectable

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

ElementUI Selectable 功能实现

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

表格行可选配置

在 ElementUI 表格中,通过 row-keyselection-change 事件实现行的可选功能。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 属性实现。

<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 } // 该选项不可选
    ]
  };
}

自定义选择逻辑

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

elementui selectable

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

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

分享给朋友:

相关文章

vue实现selectable

vue实现selectable

Vue 实现可选择的列表或表格 使用 Vue 实现可选择功能可以通过 v-model 结合自定义逻辑完成。以下是一个基础实现示例,适用于列表或表格项的选择。 模板部分 <template&g…

elementui nuxt

elementui nuxt

在 Nuxt.js 中使用 Element UI Element UI 是一个基于 Vue.js 的组件库,适用于开发后台管理系统。在 Nuxt.js 项目中集成 Element UI 需要一些额外配…

elementui treegrid

elementui treegrid

ElementUI TreeGrid 实现方法 ElementUI 本身并未直接提供 TreeGrid 组件,但可以通过组合 Tree 和 Table 组件或使用第三方扩展库实现类似功能。以下是几种实…

面试elementui

面试elementui

面试准备:ElementUI 核心知识点 基础组件与用法 熟悉常用组件如 el-button、el-form、el-table、el-dialog 的使用场景和配置项。例如表单验证需结合 rules…

elementui transfer

elementui transfer

ElementUI Transfer 组件使用指南 ElementUI 的 Transfer 组件用于在两栏之间转移数据,适用于权限分配、数据分类等场景。以下为详细使用方法: 基础用法 在模板中引入…

elementui选中

elementui选中

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