或第三方组件库(如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绑定选中状态,并通过遍历数据动态渲染表格行。

使用原生HTML实现

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

<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实现学生表格

创建 Vue 项目 使用 Vue CLI 或 Vite 初始化项目: npm init vue@latest student-table cd student-table npm instal…

vue实现子表格

vue实现子表格

Vue 实现子表格的方法 在 Vue 中实现子表格可以通过多种方式完成,以下是几种常见的方法: 使用嵌套组件 创建一个父表格组件和一个子表格组件,通过 props 将数据传递给子表格组件。父表格的…

css表格制作表格

css表格制作表格

CSS 表格制作方法 使用 CSS 创建表格可以通过多种方式实现,包括原生 HTML 表格元素结合 CSS 样式,或者使用纯 CSS 布局技术(如 Flexbox 或 Grid)模拟表格效果。以下是常…

css表格制作

css表格制作

CSS 表格制作基础 使用 CSS 可以创建美观且响应式的表格。以下是一些基本方法: table 元素用于定义表格,tr 定义行,td 定义单元格,th 定义表头单元格。 <table&…

css制作表格

css制作表格

使用HTML和CSS创建表格 HTML中的<table>元素用于创建表格,结合CSS可以调整样式。以下是一个基础示例: <table> <tr> &…

vue实现导出表格

vue实现导出表格

Vue 中实现表格导出 使用 xlsx 库导出 Excel 安装 xlsx 库: npm install xlsx --save 在 Vue 组件中引入并使用: import XLSX fro…