当前位置:首页 > VUE

vue表格实现单选框

2026-01-12 06:08:16VUE

Vue 表格实现单选框的方法

在 Vue 中实现表格单选框功能,可以通过结合 el-table(Element UI)或原生表格与 Vue 的数据绑定特性完成。以下是几种常见实现方式:

使用 Element UI 的 el-table 组件

Element UI 提供了内置的单选框支持,可直接在表格中启用。

<template>
  <el-table
    :data="tableData"
    @selection-change="handleSelectionChange"
    style="width: 100%">
    <el-table-column
      type="selection"
      width="55">
    </el-table-column>
    <el-table-column
      prop="name"
      label="姓名">
    </el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: '张三' },
        { name: '李四' }
      ],
      selectedRow: null
    };
  },
  methods: {
    handleSelectionChange(val) {
      this.selectedRow = val.length > 0 ? val[0] : null;
    }
  }
};
</script>

关键点:

  • 设置 type="selection" 启用复选框列。
  • 通过 @selection-change 监听选中变化,仅保留最后一项实现单选效果。

自定义单选框(原生或第三方库)

若需完全自定义单选框样式或逻辑,可通过手动绑定实现:

<template>
  <table>
    <tr v-for="(item, index) in tableData" :key="index">
      <td>
        <input
          type="radio"
          :value="item.id"
          v-model="selectedId"
          @change="handleRadioChange(item)">
      </td>
      <td>{{ item.name }}</td>
    </tr>
  </table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { id: 1, name: '张三' },
        { id: 2, name: '李四' }
      ],
      selectedId: null
    };
  },
  methods: {
    handleRadioChange(item) {
      console.log('选中项:', item);
    }
  }
};
</script>

关键点:

  • 使用 v-model 绑定单选值(如 selectedId)。
  • 通过 @change 事件触发自定义逻辑。

使用 Vue 计算属性优化

若需动态禁用某些选项,可结合计算属性:

computed: {
  disabledItems() {
    return this.tableData.map(item => item.id === 2); // 禁用ID为2的项
  }
}

在模板中绑定 :disabled 属性:

vue表格实现单选框

<input
  type="radio"
  :disabled="disabledItems[index]">

注意事项

  1. 数据一致性:确保 v-model 绑定的值与选项的 value 属性匹配。
  2. 性能:大数据量时建议使用虚拟滚动(如 el-table 的虚拟滚动功能)。
  3. 样式:自定义单选框时可能需要隐藏原生输入框并用 CSS 美化。

通过以上方法,可灵活实现 Vue 表格中的单选功能,适应不同场景需求。

标签: 表格单选框
分享给朋友:

相关文章

表格tb制作css

表格tb制作css

使用CSS美化HTML表格 通过CSS可以自定义表格样式,使其更美观和符合设计需求。以下是一些常用方法: 基础表格样式 table { width: 100%; border-collap…

vue element实现表格

vue element实现表格

Vue + Element UI 实现表格 Element UI 提供了强大的表格组件 el-table,结合 Vue 可以快速实现数据展示、排序、筛选等功能。 基础表格实现 安装 Element…

vue实现简单表格

vue实现简单表格

使用 Vue 实现简单表格 Vue 提供了多种方式实现表格功能,以下是基于 Vue 3 的两种常见方法: 基础表格实现 通过 v-for 指令循环渲染表格数据: <template&…

vue表格组件实现

vue表格组件实现

Vue表格组件实现 基础表格实现 使用el-table组件实现基础表格功能。安装Element UI后,引入el-table和el-table-column组件。 <template>…

vue表格实现单选

vue表格实现单选

实现 Vue 表格单选功能 使用 v-model 绑定选中状态 在表格的每一行添加单选按钮或点击行触发选中,通过 v-model 绑定一个变量存储当前选中行的唯一标识(如 id)。 示例代码: &l…

vue实现合并表格

vue实现合并表格

vue实现合并表格的方法 使用Vue实现表格合并功能可以通过多种方式完成,常见方法包括自定义渲染、利用第三方库或手动处理数据。以下是几种典型实现方案: 使用Element UI的table组件实现合…