关于elementUI select控件绑定多个值(对象)

elementUI select控件绑定多个值

通常使用的时候v-model都是绑定一个值,这样没有问题,但在某些需求中会获取选择项的多个值。

那么v-model就需要绑定一个对象,e饿了么的官网说明了绑定对象的时候必须绑定value-key值,否则会出现选择项无法改变的情况。

value-key可以使用选择项中的值。

当时没有看文档的时候,自己也想了一个办法,就是绑定选择项的索引值,然后到对应的nameList数组中取出对应的项也可以。

-1

-2

el-select绑定多个值id、value

el-select通常v-model绑定一个form的表单属性,但是在给后台传值的时候,往往在选择了以后,不仅要传name也要传id,所以需要考虑其他办法。

原v-model绑定方法:选中的值绑定form.serviceTypeName,但无法获取id

  1. <el-form-item label=“项目分类” prop=“serviceTypeName”>
  2.      <el-select v-model=“form.serviceTypeName” placeholder=“请选择”>
  3.      <el-option
  4.      v-for=“item in classifiyOptions”
  5.          :key=“item.serviceTypeId”
  6.          :label=“item.serviceTypeName”
  7.          :value=“item.serviceTypeName”
  8.      />
  9.      </el-select>
  10. </el-form-item>

改进方法:通过绑定index,@input绑定事件作用于多个值

改进后:

  1. <el-form-item label=“项目分类” prop=“serviceTypeName”>
  2.      <el-select
  3.      v-model=“form.serviceTypeName”
  4.      @input=“selectChangeParent”
  5.      placeholder=“请选择”
  6.      >
  7.      <el-option
  8.      v-for=”(item, index) in classifiyOptions”
  9.          :key=”index”
  10.          :label=”item.serviceTypeName”
  11.          :value=”index”
  12.      /&gt;
  13.      </el-select>
  14. </el-form-item>

selectChangeParent方法:

  1. // 新增绑定id函数
  2.      selectChangeParent(index) {
  3.      this.form.serviceType = this.classifiyOptions[index].serviceTypeId;
  4.      this.form.serviceTypeName = this.classifiyOptions[index].serviceTypeName;
  5.      },

这样就实现了select组件绑定多个值:id和name

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

标签

发表评论