当前位置:首页 > VUE

vue表格实现单选

2026-03-08 08:48:20VUE

Vue 表格实现单选的方法

使用 v-model 绑定选中状态

通过 v-model 绑定一个变量来记录当前选中的行数据,结合 v-for 渲染表格时动态设置选中样式。

vue表格实现单选

<template>
  <table>
    <tr v-for="item in tableData" :key="item.id" 
        @click="selectedRow = item"
        :class="{ 'active': selectedRow === item }">
      <td>{{ item.name }}</td>
      <td>{{ item.age }}</td>
    </tr>
  </table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { id: 1, name: 'Alice', age: 25 },
        { id: 2, name: 'Bob', age: 30 }
      ],
      selectedRow: null
    };
  }
};
</script>

<style>
.active {
  background-color: #f0f0f0;
}
</style>

使用单选框(Radio Button)

在表格每行前加入单选框,通过 v-model 绑定选中的值。

vue表格实现单选

<template>
  <table>
    <tr v-for="item in tableData" :key="item.id">
      <td><input type="radio" v-model="selectedId" :value="item.id"></td>
      <td>{{ item.name }}</td>
      <td>{{ item.age }}</td>
    </tr>
  </table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { id: 1, name: 'Alice', age: 25 },
        { id: 2, name: 'Bob', age: 30 }
      ],
      selectedId: null
    };
  }
};
</script>

使用第三方表格组件(如 Element UI)

若使用 Element UI 的 el-table,可直接通过其内置的单选功能实现。

<template>
  <el-table
    :data="tableData"
    @current-change="handleCurrentChange"
    highlight-current-row>
    <el-table-column prop="name" label="Name"></el-table-column>
    <el-table-column prop="age" label="Age"></el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { id: 1, name: 'Alice', age: 25 },
        { id: 2, name: 'Bob', age: 30 }
      ]
    };
  },
  methods: {
    handleCurrentChange(val) {
      console.log('当前选中行:', val);
    }
  }
};
</script>

注意事项

  • 若需默认选中某一行,可在 data 中初始化 selectedRowselectedId 为对应值。
  • 高亮样式可通过 CSS 自定义,如背景色、边框等。
  • 第三方组件(如 Element UI)可能提供更多扩展功能,如禁用某些行的单选。

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

相关文章

vue实现表格上传头像

vue实现表格上传头像

实现表格上传头像的功能 在Vue中实现表格上传头像功能,需要结合文件上传组件和表格组件。以下是一个完整的实现方案。 安装依赖 确保项目中安装了必要的依赖,如element-ui或ant-design…

css表格制作

css表格制作

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

vue实现简单表格

vue实现简单表格

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

vue实现多维表格

vue实现多维表格

Vue 实现多维表格的方法 多维表格(如类似 Excel 的数据表)在 Vue 中可以通过组件化设计和状态管理实现。以下是几种常见方案: 使用原生表格与动态渲染 通过 v-for 嵌套循环动态渲染行…

vue实现表格更新

vue实现表格更新

实现表格数据更新的方法 在Vue中实现表格数据更新通常涉及数据绑定、响应式更新和事件处理。以下是几种常见的方法: 使用v-for指令绑定数据 通过v-for指令动态渲染表格行,数据更新时会自动触发视…

vue实现复杂表格

vue实现复杂表格

Vue 实现复杂表格的方法 在 Vue 中实现复杂表格通常需要结合组件化、动态渲染和数据处理的能力。以下是几种常见的方法和实现技巧: 使用 Element UI 或 Ant Design Vue 的…