或第三方组件库(如Element UI、Ant Design Vue等)。核心逻辑是通过v-m…">
当前位置:首页 > VUE

vue表格实现单选框

2026-01-07 05:16:41VUE

实现单选框的基本思路

在Vue中实现表格单选框通常结合<input type="radio">或第三方组件库(如Element UI、Ant Design Vue等)。核心逻辑是通过v-model绑定选中状态,并通过遍历数据动态渲染表格行。

vue表格实现单选框

使用原生HTML实现

假设表格数据为tableData,选中项绑定到selectedItem

vue表格实现单选框

<template>
  <table>
    <thead>
      <tr>
        <th>选择</th>
        <th>姓名</th>
        <th>年龄</th>
      </tr>
    </thead>
    <tbody>
      <tr v-for="item in tableData" :key="item.id">
        <td>
          <input 
            type="radio" 
            :value="item.id" 
            v-model="selectedId"
            @change="handleSelect(item)"
          >
        </td>
        <td>{{ item.name }}</td>
        <td>{{ item.age }}</td>
      </tr>
    </tbody>
  </table>
</template>

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

使用Element UI实现

若使用Element UI的el-table组件:

<template>
  <el-table :data="tableData" @row-click="handleRowClick">
    <el-table-column width="50">
      <template #default="{ row }">
        <el-radio 
          v-model="selectedId" 
          :label="row.id"
          @change="handleSelect(row)"
        ></el-radio>
      </template>
    </el-table-column>
    <el-table-column prop="name" label="姓名"></el-table-column>
    <el-table-column prop="age" label="年龄"></el-table-column>
  </el-table>
</template>

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

关键注意事项

  • 唯一标识:确保每行数据有唯一id,用于v-model绑定。
  • 性能优化:大数据量时建议使用虚拟滚动(如el-table内置优化)。
  • 样式调整:通过CSS调整单选框对齐或间距,例如:
    .el-radio { margin: 0; vertical-align: middle; }

扩展功能

  • 默认选中:初始化时设置selectedId为某一项的id
  • 禁用选项:通过:disabled条件控制某些行不可选:
    <el-radio :disabled="row.disable" ...></el-radio>

以上方案可根据实际需求组合或调整,核心逻辑是通过响应式数据管理选中状态。

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

相关文章

vue实现重置表格数据

vue实现重置表格数据

重置表格数据的方法 在Vue中重置表格数据通常涉及清空或重新初始化数据绑定的数组或对象。以下是几种常见实现方式: 直接重置数据源 对于基于数组的表格数据,可以直接将数据数组重置为空或初始值:…

uniapp 表格导入

uniapp 表格导入

uniapp 表格导入的实现方法 使用 uni.chooseFile 选择文件 在 uniapp 中,可以通过 uni.chooseFile API 让用户选择本地文件。该 API 支持多平台,包括…

vue表格实现单选

vue表格实现单选

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

vue实现分组表格

vue实现分组表格

Vue 实现分组表格的方法 使用 v-for 嵌套循环实现分组 通过嵌套的 v-for 循环可以轻松实现分组表格。外层循环遍历分组数据,内层循环遍历每组中的具体项。 <template>…

vue表格动态实现

vue表格动态实现

Vue 表格动态实现方法 动态表格的实现通常涉及数据绑定、列配置动态化以及交互功能的灵活处理。以下是几种常见场景的具体实现方式: 动态数据绑定 通过v-for指令循环渲染表格行数据,数据变化时表格自…

vue实现表格修改

vue实现表格修改

Vue 实现表格修改的方法 使用 v-model 绑定数据 在 Vue 中可以通过 v-model 实现双向数据绑定,适用于表格单元格的编辑。 为表格的每个单元格绑定 v-model,动态修改数据。…