el-select数据回填问题,不显示label

在详情页将数据回填到select标签中时,我希望显示的效果如下图所示。

 而实际上,显示的效果如下图所示。

 

造成这种结果的原因是v-model和:value数据类型不匹配,我们可以通过以下两种方式中的一种来统一数据类型。

第一种方式:将:value转换为数值,只需在:value后面加上 *1

<el-form-item label="状态" prop="state">
          <el-select v-model="temp.state" class="filter-item" placeholder="Please select">
            <el-option v-for="item in stateArr" :key="item.key" :label="item.label" :value="item.key *1" />
          </el-select>
        </el-form-item>

第二种方式:将:value转换为字符串,只需在:value后面加上 +''

<el-form-item label="状态" prop="state">
          <el-select v-model="temp.state" class="filter-item" placeholder="Please select">
            <el-option v-for="item in stateArr" :key="item.key" :label="item.label" :value="item.key +''" />
          </el-select>
        </el-form-item>

在使用 Element UI 的 `el-select` 组件时,通常会通过 `options` 属性传入一个数组,其中每个元素是一个对象。这些对象通常包含两个字段:`value` 和 `label`。`value` 字段通常用于数据的存储和传递,而 `label` 字段则用于显示,即用户看到的选项文本。 如果在使用 `el-select` 组件时,的是 `value` 值而是 `label` 文本,可能是以下原因之一: 1. 在 `el-option` 组件中没有指定 `label` 属性,导致系统默认使用 `value` 作为显示内容。 2. `el-select` 的 `value` 属性绑定的值正好是 `options` 数组中某个对象的 `value` 字段值,而是对应的 `label` 字段值。 3. 自定义模板时,可能存在模板中直接使用了绑定对象的 `value` 字段。 为了解决这个问题,可以按照以下步骤检查和修改: - 确保 `el-option` 组件的 `label` 属性正确指定了要显示的文本字段。 - 确认 `el-select` 的 `value` 属性绑定的是正确的 `value` 字段值,如果需要显示 `label`,则应该将这个值设置为对应的 `label` 字段值。 - 如果是自定义模板,请确保模板中正确引用了 `label` 字段。 示例代码片段如下: ```html <template> <el-select v-model="selected" placeholder="请选择"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </template> <script> export default { data() { return { selected: '', // 绑定的值应该是对应的value字段 options: [ { value: '1', label: '选项一' }, { value: '2', label: '选项二' }, // ...其他选项 ] }; } }; </script> ``` 在上述示例中,`selected` 绑定到 `el-select` 的 `v-model`,它应该是一个 `options` 数组中对象的 `value` 字段值。而 `el-option` 的 `label` 属性确保了在下拉列表中显示的是 `label` 字段值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值