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 v-model="value" placeholder="请选择">
        <el-option
          v-for="item in options"
          :key="item.value"
          :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>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持阿兔在线工具。

点赞(0)

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部