select 下拉获取数组里的任意值

方法1:

HTML:

   <el-form-item label="角色">
              <el-select
                clearable
                v-model="role"
                placeholder="请选择角色"
                @change="handeltest()"
              >
                <el-option
                  v-for="(item, index) in roleList"
                  :key="index"
                  :label="item.rolename"
                  :value="item" 这里就不要绑定 item,id什么的了,直接绑定item, 这样打印出来就是选中的整个对象
                ></el-option>
              </el-select>
            </el-form-item>
 
 data() {
    return {
  roleList:[],//数组
  role:‘’
   }
  }
 
js:
  
 handeltest(value){
      console.log(this.role)   // 需要哪个值就取哪个值,然后在data里面重新定义一个,赋值上去即可
    },
 
打印如图:
 
方法2:  option里面绑定的时候直接取值  eg:  value="item.id"  ,  然后通过得到的值去和数组做对比(循环数组) 如下:
 
    handeltest(val){
      this.role = val
      var obj = '';
      obj = this.roleList.find(function(item) {  //循环数组
        if(item.id == val){   //如果里面的id 和我们取的id 相等  那么就返回这一个对象 
          return item.crmcustomercode;
        }
      });
      this.crmCustomerCode = obj.crmcustomercode //在对象里面需要哪个取哪个
    },
 
方法3: 为 select 添加 value-key 属性,elment 文档里面也有提到,但是我这不生效,暂时还不知道什么原因,后续补上
 
posted @ 2021-01-29 18:18  傲似小仙女  阅读(132)  评论(0编辑  收藏  举报