下面本来是我做的页面,后面没啥时间了,给其他兄弟做提的bug。
问题:
新增页面的时候选择是正常的,但是回显有问题:(如图显示了value为数字)
解释:
在<el-select>组件中,通过v-model可以实现选择项的回显。而框内显示的是label值还是value值,取决于你在设置选项时的配置。
<el-select>组件的选项可以通过<el-option>进行配置,每个<el-option>代表一个选项。每个选项包含两个属性:
options: [
{ value: 'option1', label: '选项1' },
{ value: 'option2', label: '选项2' },
{ value: 'option3', label: '选项3' }
]
重点:
1. value: 用于表示选项的值。 ( :value 前面隐去了v-bind。完整的为 v-bind:value ,而这个v-bind主要就用于属性绑定)
2. label: 用于表示选项的显示文本。
默认情况下,当你使用v-model将选中的值绑定到<el-select>组件时,组件将根据选中的值,从选项中查找对应的value,并显示对应的`label`。但你可以通过设置
属性来更改为显示选项的value-key
value
值。
<el-select v-model="selectedValue" :options="options" value-key="value"></el-select>
但是,难道大家就没有考虑过数据类型的问题? 如==与===? 还有Number 与String?
通过判断一下拿到数据类型,是本身的option的value的数据类型要全等(===)于从后台拿到的数据就行
解决效果:
如下图更改就行,我强制转换为了int类型:
上面的问题其实超级简单,但是想深入了解的话还是需要花费时间的。