当前位置:首页 > 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中实现表格单选框通常结合<input type="radio">或第三方组件库(如Element UI、Ant Design Vue等)。核心逻辑是通过v-m…

vue实现表格读取数据

vue实现表格读取数据

Vue 实现表格数据读取 在 Vue 中实现表格数据读取通常涉及以下关键步骤: 数据绑定与表格渲染 通过 v-for 指令动态渲染表格行,数据通常存储在组件的 data 或 Vuex 状态中:…

css制作表格

css制作表格

CSS 制作表格的方法 使用 CSS 可以灵活地创建和样式化表格,以下是几种常见的方法: 使用 HTML 表格标签结合 CSS 样式 通过 HTML 的 <table>、<tr&g…

vue实现sku表格

vue实现sku表格

Vue实现SKU表格的方法 SKU(Stock Keeping Unit)表格常用于电商平台展示商品的多属性组合,例如颜色、尺寸等。以下是基于Vue的实现方法: 数据结构设计 SKU的核心是属性组合…

vue实现表格滑动

vue实现表格滑动

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

vue实现表格编辑

vue实现表格编辑

Vue 实现表格编辑的方法 在 Vue 中实现表格编辑功能可以通过多种方式完成,以下是几种常见的方法: 使用 v-model 绑定数据 通过 v-model 绑定表格数据,结合 v-for 动态渲染…