element-ui的el-select如何不顯示value,顯示value對應的label值
阿新 • • 發佈:2021-01-05
現在遇到問題 效果是這樣的:
我們想到得到的是下面的效果:
除錯發現 是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="form.select">
<el-option label="測試1" value="1"></el-option>
<el-option label="測試2" value="2"></el-option>
</el-select>
此時在賦值時候 應該使用String
this.readValue = '1' // 此處數字1 可以替換成介面讀取的內容 在內容未知情況下用String轉換即可 this.form.select = String(this.readValue) // 通過String將型別轉換