效果是id recruitType的值传给接口,选择框里选项点了才会高亮,这样的问题是如何解决的?
<el-select v-model="title" placeholder="请选择" @change="handleSelect">
<el-option
v-for="item in PublishRecruitList"
:key="item.id"
:label="item.title"
:value="item.recruitType"
></el-option>
</el-select>
js
handleSelect(v) {
console.log(v)
}
现在要在item里拿两个值,一个是id recruitType,:value给了item,在下拉框里所有选项会高亮,正常交互是点击了才会高亮,然后选择框了的值input没有替换
我想要的效果是id recruitType的值传给接口,选择框里选项点了才会高亮,这样的问题是如何解决的
回复
1个回答

test
2024-06-19
一般 el-option
绑定的 value
值是唯一的。不然就会选择一个option高亮一堆选项。所以可以使用你需求的 id
和 recruitType
去做一个拼接的 value
值。
<el-select v-model="testValue" placeholder="请选择" @change="handleSelect">
<el-option
v-for="item in PublishRecruitList"
:key="item.id"
:label="item.title"
:value="`${item.id}-${item.recruitType}`"
></el-option>
</el-select>
handleSelect(val){
const [id, recruitType] = val.split('-')
this.formData.selectId = id
this.formData.selectRecruitType = recruitType
}
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容