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>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
查看更多关于关于el-select组件设置默认值的实现方式的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did121238