当前位置:首页 > VUE

vue表格实现单选

2026-02-11 09:07:35VUE

实现 Vue 表格单选功能

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

使用 el-tablehighlight-current-row 属性

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

<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>

自定义单选逻辑

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

<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 绑定选中行数据。

vue表格实现单选

<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 表格的单选功能。

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

相关文章

vue   实现单选

vue 实现单选

实现单选的基本方法 在Vue中实现单选功能可以通过v-model绑定数据和v-for循环渲染选项。以下是一个基本示例: <template> <div> <…

vue表格组件实现

vue表格组件实现

Vue表格组件实现 基础表格实现 使用el-table组件实现基础表格功能。安装Element UI后,引入el-table和el-table-column组件。 <template>…

vue 实现图片单选

vue 实现图片单选

Vue 实现图片单选功能 在 Vue 中实现图片单选功能,可以通过结合 v-model 和自定义事件来实现。以下是具体实现方法: 方法一:使用 v-model 和计算属性 创建一个 Vue 组件…

css表格的制作方法

css表格的制作方法

表格基础结构 使用HTML的<table>标签创建表格框架,搭配<tr>定义行,<td>定义单元格。例如: <table> <tr>…

表格制作css

表格制作css

CSS表格样式设计 基础表格样式 通过border-collapse合并边框,使表格更整洁。width控制整体宽度,text-align设置文字对齐方式。 table { border-coll…

vue实现checkbox单选

vue实现checkbox单选

Vue实现Checkbox单选功能 在Vue中实现Checkbox单选功能,可以通过以下几种方法: 方法一:使用v-model绑定单个变量 通过将多个Checkbox绑定到同一个变量,利用v-mo…