有時根據需要,我們根據v-model
的值綁定option
,
想要的效果:
實際的效果:
原因:
value的格式存在問題,數據庫讀取到的數據不一定為number類型,需要手動轉換。
第一種
<template>
<div>
<el-card class="el-card">
<el-form :model="form" label-width="100px" label-position="right">
<el-form-item label="select測試">
<el-select v-model="form.select">
<el-option v-for="(item, index) in options"
:key="index"
:value="item.value"
:label="item.label"></el-option>
</el-select>
</el-form-item>
<el-form-item label="value顯示"><el-input v-model="form.select"></el-input></el-form-item>
<el-button type="primary" @click="demo">select取value1選項</el-button>
</el-form>
</el-card>
</div>
</template>
<script>
export default {
name: 'form',
data() {
return {
readValue: '', // 假設為我們讀取到select的value值
form: {
select: ''
},
options: [
{
value: 1,
label: '測試1'
},
{
value: 2,
label: '測試2'
}
]
}
},
methods: {
demo() {
this.readValue = '1' // 此處可以替換成接口讀取的內容 在內容未知情況下用Number轉換即可
this.form.select = Number(this.readValue) // 通過Number將類型轉換
}
}
}
</script>
第二種
<el-select v-model="emp.gender">
<el-option label="男" value="0" ></el-option>
<el-option label="女" value="1"></el-option>
</el-select>
在賦值的時候手動轉換成String
//為模型數據設置值,基於VUE雙向綁定回顯到頁面
this.emp=res.data.data;
//設置性別轉換為String
this.emp.gender=String(this.emp.gender);