当前位置:首页 > VUE

vue表格实现单选

2026-02-11 09:07:35VUE

实现 Vue 表格单选功能

在 Vue 中实现表格单选功能可以通过以下方法完成,假设使用的是 Element UI 的表格组件。

使用 el-tablehighlight-current-row 属性

启用 highlight-current-row 属性可以让表格高亮当前选中的行,结合 @current-change 事件可以获取当前选中的行数据。

vue表格实现单选

<template>
  <el-table
    :data="tableData"
    highlight-current-row
    @current-change="handleCurrentChange"
    style="width: 100%">
    <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: [
        { name: '张三', age: 20 },
        { name: '李四', age: 25 },
        { name: '王五', age: 30 }
      ],
      currentRow: null
    }
  },
  methods: {
    handleCurrentChange(val) {
      this.currentRow = val
    }
  }
}
</script>

自定义单选逻辑

如果需要对单选逻辑进行更精细的控制,可以通过手动管理选中状态实现。

vue表格实现单选

<template>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column prop="name" label="姓名"></el-table-column>
    <el-table-column prop="age" label="年龄"></el-table-column>
    <el-table-column label="操作">
      <template #default="scope">
        <el-radio
          v-model="selectedRow"
          :label="scope.row"
          @change="handleSelect(scope.row)">
          选择
        </el-radio>
      </template>
    </el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: '张三', age: 20 },
        { name: '李四', age: 25 },
        { name: '王五', age: 30 }
      ],
      selectedRow: null
    }
  },
  methods: {
    handleSelect(row) {
      this.selectedRow = row
    }
  }
}
</script>

使用 @row-click 事件

通过监听行点击事件,可以手动设置当前选中行。

<template>
  <el-table
    :data="tableData"
    @row-click="handleRowClick"
    style="width: 100%">
    <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: [
        { name: '张三', age: 20 },
        { name: '李四', age: 25 },
        { name: '王五', age: 30 }
      ],
      selectedRow: null
    }
  },
  methods: {
    handleRowClick(row) {
      this.selectedRow = row
    }
  }
}
</script>

使用 v-model 绑定选中行

如果使用自定义表格组件,可以通过 v-model 绑定选中行数据。

<template>
  <custom-table
    :data="tableData"
    v-model="selectedRow">
    <template #columns>
      <custom-column prop="name" label="姓名"></custom-column>
      <custom-column prop="age" label="年龄"></custom-column>
    </template>
  </custom-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        { name: '张三', age: 20 },
        { name: '李四', age: 25 },
        { name: '王五', age: 30 }
      ],
      selectedRow: null
    }
  }
}
</script>

以上方法可以根据具体需求选择适合的方式实现 Vue 表格的单选功能。

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

相关文章

css表格的制作方法

css表格的制作方法

基础表格结构 使用<table>标签创建表格框架,<tr>定义行,<td>定义单元格: <table> <tr> <t…

如何实现vue表格联动

如何实现vue表格联动

实现 Vue 表格联动的方法 数据绑定与响应式更新 通过 Vue 的响应式特性,将多个表格的数据绑定到同一个数据源或计算属性。当一个表格的数据发生变化时,另一个表格会自动更新。例如: data()…

vue单选实现

vue单选实现

Vue 单选实现方法 在 Vue 中实现单选功能可以通过多种方式完成,以下是常见的几种方法: 使用 v-model 绑定单选按钮 通过 v-model 绑定到同一个变量,实现单选效果: <…

vue element实现表格

vue element实现表格

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

vue实现div单选

vue实现div单选

实现 div 单选功能 在 Vue 中实现 div 单选功能可以通过多种方式完成。以下是几种常见的实现方法: 使用 v-model 和计算属性 通过 v-model 绑定一个变量,结合计算属性实现…

css表格制作

css表格制作

CSS表格制作方法 使用CSS创建表格可以通过多种方式实现,以下是常见的几种方法: 使用HTML原生表格标签结合CSS样式 <table class="styled-table">…