学无先后,达者为师

网站首页 编程语言 正文

select组件选中后获取当前值对应的对象信息

作者:_潮汐海灵_ 更新时间: 2022-02-27 编程语言

需求-----选中角色后,在input框中显示,同时需要获取该用户的基本信息对象

data () {
	return {
		receiveUser:{ },
		userList:[ ] 
	}
}

组件使用

        <el-select
          v-model="receiveUser"
          placeholder="请选择"
          clearable
          value-key="userId"
          @change="selectValue"
        >
          <el-option
            v-for="item in userList"
            :key="item.userId"
            :label="item.username"
            :value="item"
          ></el-option>
        </el-select>

select绑定对象,必须绑定 value-key属性,可以查看文档说明,不过说明上讲解的不详细,
userList是请求接口获取到的用户信息数组,value-key作为对象的唯一标识,是与:key="item.userId"对应的
最后可以查看打印结果

    //选中分配人后
    selectValue () {
      console.log(this.receiveUser) //选中人对象信息
    },

在这里插入图片描述

而select框中显示的角色名
在这里插入图片描述


2020-10-17
另一种解决思路—通过filter来筛选
select不需要绑定对象,而是通过遍历数组来筛选

data () {
	return {
		receiveUserName:' ',
		userList:[ ] 
	}
}
        <el-select
          v-model="receiveUserName"
          placeholder="请选择"
          clearable
          @change="selectValue"
        >
          <el-option
            v-for="item in userList"
            :key="item.userId"
            :label="item.username"
            :value="item.username"
          ></el-option>
        </el-select>
    selectValue () {
      let choosenItem = this.userList.filter(item => item.username=== this.receiveUserName)[0];
       console.log('choosenItem', choosenItem)
    },

原文链接:https://blog.csdn.net/weixin_45669668/article/details/109091576

栏目分类
最近更新