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>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。