vue element select获取选中的label值

 页面代码

<el-form-item label="包含疾病" prop="illnessId">

        <el-select v-model="dataForm.illnessId" multiple filterable  placeholder="请输入名称搜索" @change="selectName">

            <el-option

                    v-for="illness in illnessList"

                    :key="illness.id"

                    :label="illness.name"

                    :value="illness.id">

            </el-option>

        </el-select>

    </el-form-item>

js事件

//选择疾病的名称

      selectName(val){

        

      // val是el-option里面的:value="item.id"这里绑定的对应的id的值

      let idData = val

      // 由于是多选,所以这里是一个数组,里面存了多个val

      let idDataLength = idData.length

      // 定义一个空数组用于存储处理过后包含id和name的数据

      let obj = []

      // 第一层for循环遍历,拿到idData数组里面的每一个val,就是对应的多选里面的每一个id

      for (let i = 0; i < idDataLength; i++) {

        // 这里value就是对应的每一个id

        let value = idData[i]

        // this.illnessList就是你在el-option里面遍历的数组

        this.illnessList.map((item) => {

          //  item就是this.illnessList这个数组里面的每一个对象

          // 通过每一个对象的id与value也就是对应的每一个选中的id对比

          if (item.id === value) {

            // 符合的对象添加进之前定义的新新数组里面

            obj.push(item.name)

          }

        })

      }

      // 获得包含对应的id的数组,赋值用到对应的地方即可

      this.dataForm.illnessName = obj

      }

最终结果

猜你喜欢

转载自blog.csdn.net/KeepLearnZhangXiaoBo/article/details/118708881