element-ui的el-select如何不显示value,显示value对应的label值

如今遇到问题 效果是这样的:
clipboard.png数据库

咱们想到获得的是下面的效果:测试

clipboard.png

调试发现 是value的格式存在问题,数据库读取到的数据不必定为number类型
须要本身转换一下
代码以下便可this

<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>

可是 还有一种状况就是 :spa

<el-select v-model="form.select">
    <el-option label="测试1" value="1"></el-option>
    <el-option label="测试2" value="2"></el-option>
</el-select>

此时在赋值时候 应该使用String3d

this.readValue = '1' // 此处数字1 能够替换成接口读取的内容 在内容未知状况下用String转换便可
this.form.select = String(this.readValue) // 经过String将类型转换

总结 显示不正常 多数是因为获得的数据类型对应不上表单操做的数据类型 进行相应转换便可

相关文章
相关标签/搜索