效果是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 语法排版,代码语义正确
 
不该作为回答的
- 询问内容细节或回复楼层
 - 与题目无关的内容
 - “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容