You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现带动态选项列表的v-select并获取选中项ID?

刚在项目里搞定了Vuetify v-select获取选中项完整对象(含ID)的问题,这里跟大家唠唠关键要点,避免踩坑:

使用Vuetify v-select获取选中项ID的正确姿势

1. 组件核心代码(必加return-object)

这是v-select的实现代码,重点一定要加上return-object属性——这是能拿到选中项ID的关键:

<v-select 
  v-model="selectedEmployee" 
  :items="employee" 
  item-text="name" 
  value="id" 
  return-object 
  hide-details 
></v-select>

划重点:如果没加return-object,选中后只能拿到下拉菜单显示的文本内容,根本获取不到对应的ID字段!

2. 提前声明需要的数据变量

在Vue组件的data选项里,定义三个数据项:

data: {
  employeeList: [], // 用来存放接口返回的原始员工数据数组
  employee: [],     // 整理后给v-select做选项的数组
  selectedEmployee: null // 绑定选中结果的变量
}

3. 接口数据获取与格式整理

通过GET请求拿到JSON格式的员工列表后,先把原始数据存到employeeList,再循环整理成v-select需要的结构(把姓和名拼接成显示的name,同时保留原始ID):

// 假设app是你的Vue实例对象
for(let i = 0; i < app.employeeList.length; i++) {
  app.employee.push({name: '', id: ''});
  app.employee[i].name = app.employeeList[i].lastname + ' ' + app.employeeList[i].firstname;
  app.employee[i].id = app.employeeList[i].id;
}

4. 选中后的结果差异

  • 加了return-object:选中选项后,selectedEmployee会拿到完整的对象,比如:
    {name: 'Jane Doe', id: 0}
    
  • 没加return-object:selectedEmployee只会是下拉显示的文本(比如'Jane Doe'),完全拿不到ID,后续提交后端这类操作就会卡住。

内容的提问来源于stack exchange,提问作者vueNoob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:30:16