效果是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的值传给接口,选择框里选项点了才会高亮,这样的问题是如何解决的

阅读 365
1 个回答

一般 el-option 绑定的 value 值是唯一的。不然就会选择一个option高亮一堆选项。
所以可以使用你需求的 idrecruitType 去做一个拼接的 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
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题