1. 程式人生 > 其它 >element-ui的el-select如何不顯示value,顯示value對應的label值

element-ui的el-select如何不顯示value,顯示value對應的label值

現在遇到問題 效果是這樣的:
clipboard.png

我們想到得到的是下面的效果:

clipboard.png

除錯發現 是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將型別轉換