关于el-select组件设置默认值的实现方式

2022-09-02 09:11:42

目录el-select组件设置默认值问题如何给el-select赋默认值el-select组件设置默认值问题最近写项目的时候遇到将el-select组件设置默认值需求,通过查阅资料发现很多是使用v-m...

目录
el-select组件设置默认值问题
如何给el-select赋默认值

el-select组件设置默认值问题

最近写项目的时候遇到将el-select组件设置默认值需求,通过查阅资料发现很多是使用v-model来实现的,但是只用v-model可能会有一些小小的问题。

因此根据他们的进行改变了一下

实现方式 el-select组件:

 <el-select v-model="templateValue" placeholder="请选择模板" @change="selectTm">
  <el-option
   v-for="item in templateData"
   :key="item.id"
   :label="item.print_name"
   :value="item.id">
  </el-option>
 </el-select>

data属性:

 templateIdentify:true,
 tmId:"",
 fileName:'没有任何文件',//文件名

这里将templateValue的值赋值为数组的第一个内容。其次在select中添加@change="selectTm"事件,这个事件会传入用户选择的id,然后将这个id赋值给tmId

有的小伙伴会问,如果用户没有做出选择,那么tmId就为空字符串了。并且选择器会不会永远是数组的第一个内容,不会的我们用v-model进行绑定了,用户选择的内容会实时显示在选择器上。因此看下面一段代码

created(){
 templateValue:this.templateData[0].print_name,
 this.init()
},
methods:{
selectTm(currentValue) {
   this.tmId = currentValue;
  },
 init(){
  if(this.templateValue.length>0){
    this.tmId=this.templateData[0].id
   }
  }
}

 用来判断用户是否做出选择了,如果没有选择,那么默认的把templateData数组中的第一项的id赋值给tmId

总结:其实就是将id用另一个变量保存起来了。

如何给el-select赋默认值

如下图所示:

比如select下拉框中的数据是动态返回的,如何赋默认的值。

关于el-select组件设置默认值的实现方式

<el-select v-model="value" placeholder="请选择">
        <el-option
          v-for="item in options"
          :key="item.value"
     www.cppcns.com     :label="item.label"
          :value="item.value">
        </el-option>
      </el-select>
        data() {
            return {
                options: [{
          value: '选项1',
          label: '黄金糕'
        }, {
          value: '选项2',
          label: '双皮奶'
        }, {
          value: '选项3',
          label: '蚵仔煎'
        }, {
          value: '选项4',
          label: '龙须面'
        }, {
          value: '选项5',
          label: '北京烤鸭'
        }],
        value: '选项1',

注:

1.必须先给options赋值,再给绑定的value赋值才行,即:

this.options=“后台返回的值”
this.value=“想要赋的值”

2.value-key作为 value 唯一标识的键名,绑定值为对象类型时必填。如:

<el-select v-model="value" placeholder="请选择" value-key="value">
        <el-option
          v-for="item in options"
          :key="item.value"
          :label="item.label"
          :value="item">
        </el-option>
      </el-select>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。