当前位置:首页 > 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实现表格复选的方法 基础实现 在Vue中实现表格复选功能可以通过v-model绑定复选框的状态,结合v-for循环渲染表格数据。以下是一个基础示例: <template> &l…

vue实现表格数据修改

vue实现表格数据修改

实现表格数据修改的基本思路 在Vue中实现表格数据修改通常涉及以下核心步骤:数据绑定、编辑状态切换、表单输入处理和数据提交。以下是一个典型实现方案: 数据绑定与渲染 使用v-for指令循环渲染表格数…

vue实现 单选

vue实现 单选

实现 Vue 单选功能 在 Vue 中实现单选功能可以通过多种方式完成,常见的有使用原生 HTML 的 <input type="radio"> 结合 Vue 的数据绑定,或使用第三方 U…

vue实现单选按钮

vue实现单选按钮

实现单选按钮的基本方法 在Vue中实现单选按钮通常使用v-model指令绑定数据,结合input元素的type="radio"属性。以下是一个基础示例: <template> <…

vue实现表格滑动

vue实现表格滑动

Vue实现表格滑动的方法 使用CSS overflow属性实现横向滑动 在表格外层容器设置overflow-x: auto,限制表格宽度超出时出现滚动条。这种方法适合简单场景,无需额外依赖库。 &l…

vue实现单选状态

vue实现单选状态

实现单选状态的方法 在Vue中实现单选状态通常可以通过以下几种方式完成,具体取决于使用场景和需求。 使用v-model绑定单选按钮 通过v-model可以轻松实现单选按钮的选择状态绑定。将同一组单选…