vue -elementUI的选择组件el-select中@change事件返回key,val

select 获得键值(key,val)的值

vue -elementUI的选择组件el-select中@change事件返回key,val_第1张图片
vue -elementUI的选择组件el-select中@change事件返回key,val_第2张图片

第一种方法

这里的value的写法是对象键值对的写法

:value="{value:item.versionid,label:item.versionName}"

<el-form-item label="测试版本" prop="systemVersionId">
  <el-select v-model="dialogForm.systemVersion" @change="systemVersionChange" filterable  placeholder="请选择测试版本">
    <el-option v-for="item in systemVersionObj" :key="item.versionid" :label="item.versionName" :value="{value:item.versionid,label:item.versionName}" />
  el-select>
el-form-item>

注意通过对象形式绑定v-model的是label的值,你label设的是什么,绑定的就是什么。

methods: {
	systemVersionChange(params) { // 测试版本id val
	  const { value, label } = params
	  console.log(value, label, 'systemVersionChange', this.dialogForm.systemVersionId)
	  this.dialogForm.systemVersion = label // 赋值
	  this.dialogForm.systemVersionId = value // 赋值
	},
}

第二种方法

这里是根据systemVersionObj绑定的原始数据里获取的
<el-form-item label="测试版本" prop="systemVersionId">
  <el-select v-model="dialogForm.systemVersionId" @change="systemVersionChange" filterable  placeholder="请选择测试版本">
    <el-option v-for="item in systemVersionObj" :key="item.versionid" :label="item.versionName" :value="item.versionid" />
  el-select>
el-form-item>
methods: {
	systemVersionChange() { // 测试版本id val
	  var objVal = {}
      this.systemVersionObj.forEach((item) => { // this.systemVersionObj 是下拉框的数据
        if (item.versionid == this.dialogForm.systemVersionId) { // 选中id和当前一样就赋值
          objVal = item.versionName
        }
      })
      this.dialogForm.systemVersion = objVal // 赋值
	},
}

你可能感兴趣的:(Vue,vue.js,elementui,前端)