当前位置:首页 > VUE

vue表格实现单选

2026-03-28 19:35:17VUE

实现 Vue 表格单选功能

在 Vue 中实现表格单选功能可以通过以下方法完成,核心思路是绑定选中状态并监听用户操作。

方法一:使用 v-model 绑定选中行

通过 v-model 绑定一个变量存储当前选中行的数据,结合 @click 事件切换选中状态。

vue表格实现单选

<template>
  <table>
    <tr v-for="(item, index) in tableData" :key="index" 
        @click="selectedRow = item"
        :class="{ 'selected': selectedRow === item }">
      <td>{{ item.name }}</td>
      <td>{{ item.age }}</td>
    </tr>
  </table>
</template>

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

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

方法二:使用计算属性动态判断选中状态

通过计算属性或方法判断当前行是否为选中状态,适用于需要复杂逻辑的场景。

vue表格实现单选

<template>
  <table>
    <tr v-for="(item, index) in tableData" :key="index" 
        @click="selectRow(item)"
        :class="{ 'selected': isSelected(item) }">
      <td>{{ item.name }}</td>
      <td>{{ item.age }}</td>
    </tr>
  </table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: 'Alice', age: 25 },
        { name: 'Bob', age: 30 }
      ],
      selectedRow: null
    };
  },
  methods: {
    selectRow(item) {
      this.selectedRow = item;
    },
    isSelected(item) {
      return this.selectedRow === item;
    }
  }
};
</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: [
        { name: 'Alice', age: 25 },
        { name: 'Bob', age: 30 }
      ]
    };
  },
  methods: {
    handleCurrentChange(val) {
      console.log('当前选中行:', val);
    }
  }
};
</script>

关键点说明

  • 数据绑定:通过 selectedRow 变量存储当前选中行的数据。
  • 样式反馈:通过 CSS 类名(如 .selected)或组件内置属性(如 highlight-current-row)高亮选中行。
  • 事件监听:使用 @click@current-change 监听用户操作并更新选中状态。

以上方法均能实现表格单选功能,可根据项目需求选择原生实现或结合第三方组件库。

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

相关文章

css表格制作

css表格制作

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

vue表格实现单选框

vue表格实现单选框

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

使用vue实现表格

使用vue实现表格

使用 Vue 实现表格 Vue.js 提供了灵活的方式来实现表格功能,可以通过组合 v-for 指令和动态数据绑定快速构建表格。以下是几种常见的实现方法: 基础表格实现 通过 v-for 遍历数组数…

vue实现多级表格

vue实现多级表格

Vue 实现多级表格的方法 使用递归组件实现多级表格 递归组件是处理嵌套数据的理想方式,特别适合展示树形结构的数据。 <template> <table> <…

vue实现表格选择

vue实现表格选择

Vue 实现表格选择功能 在 Vue 中实现表格选择功能可以通过多种方式完成,常见的方法包括使用复选框、单选框或通过点击行高亮选中。以下是几种常见的实现方式。 使用复选框实现多选 在表格的每一行添加…

vue实现表格滚动

vue实现表格滚动

Vue 实现表格滚动的方法 使用 CSS 固定表头并滚动内容 通过 CSS 设置表格容器的固定高度和 overflow-y: auto,实现内容区域的滚动。表头部分使用 position: stick…