vue中el-select无法显示默认选中值的name,直接显示值value

一、背景

在写项目的过程中,突然发现el-select这个组件,绑定的值没办法显示name,而是直接显示value。在编辑项目的弹框中,要显示项目绑定了哪个数据库(项目外连数据库表主键ID),结果发现直接把关联数据库的ID显示了出来,这与我的设想不一致,因此来找找是什么问题

二、解决

有问题的,有文档的当然第一时间去看文档,一看数据类型是string。

value-key

作为 value 唯一标识的键名,绑定值为对象类型时必填

数据类型string

再去检查项目传值,发现el-option绑定的list中key的类型是string,但v-model绑定的值是int,所以就导致了无法显示正确的名字,而显示主键ID

 知道问题解决起来就很简单了,直接parseInt()转一下数据类型

<el-form-item label="归属数据库:" prop="databaseId">
    <el-select v-model="projectForm.databaseId" placeholder="归属项目" style="width: 400px">
        <el-option v-for="item in databaseList" :key="item.id" :value="parseInt(item.id)" :label="item.name" />
    </el-select>
</el-form-item>

但是可以的话,还是尽量数据格式一致,如果都是int的话,也是能可以正确显示的,那就无须做额外的处理了


版权声明:本文为weixin_40295575原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。