#author("2022-06-30T16:27:35+08:00","default:Admin","Admin")
#author("2022-06-30T16:30:27+08:00","default:Admin","Admin")
[[Vue]]

&color(red){※前提条件:本文基于 Vue 2.0 创作};
#contents


* el-option [#uf55ed95]

|参数|说明|类型|可选值|默认值|
|value|选项的值|string/number/object|—|—|
|label|选项的标签,若不设置则默认与value相同|string/number|—|—|
|disabled|是否禁用该选项|boolean|—|FALSE|


#codeprettify{{
<template>
  <div>
    <el-button @click="printSelect">调试</el-button>
    //value1 的类型 需要跟:value="item.value" 一样
    <el-select ref="selectValue1" v-model="value1" filterable placeholder="请选择">
      <el-option
        v-for="item in options1"
        :key="item.value"
        :label="item.label"
        :value="item.value"
      />
      //vaule1 为string 则 value="选项6" 前面可以不用加:即v-bind 数据绑定
      <el-option key="选项6" label="扬州炒饭" value="选项6" />
    </el-select>
    <el-select ref="selectValue2" v-model="value2" no-match-text filterable placeholder="请选择">
      //value2为number 前面需要:
      <el-option key="5" label="扬州炒饭" :value="5" />
      <el-option key="6" label="苏州大闸蟹" :value="6" />
    </el-select>
  </div>
</template>
}}

* Tips [#g72a3122]

** 显示value不显示label的问题 [#g56c087b]

一般是由于el-select里面的v-model和v-value参数的类型不同造成的,将参数类型修改一致即可

#codeprettify{{
this.form.value1 = Number(this.form.value1)
this.form.value2 = String(this.form.value2)
}}

** 选中后赋值成功,但是不显示选中的值 [#kc384a02]

方法一
多层嵌套后,数据有时不同步,强制更新一下
#codeprettify{{
this.$forceUpdate()
}}

方法二
#codeprettify{{
optChange(val) {
      // val 代表 value 值
      if (val) {
        // 操作选中值发生变化
        this.$set(this.form, this.form.id, val);
      } else {
        this.$set(this.form, this.form.id, '');
      }
    },
}}

#hr();
コメント:
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS