回填我目前使用到的数据类型,分三种:
数据不同,回填的时候要做不同的数据类型转换
1. 数组
回填的value值如果是字符串需要转换成整型
<el-select v-model="value" placeholder="请选择" >
<el-option v-for="(value, index) in ['值1', '值1', '值1']" :key="index" :label="value" :value="key" />
</el-select>
2. key-value数组
这种情况,就是我们的数据类型的valued 值可能不是0开始的,并且数组kennel不规则的,就没办法像上个方法直接索引值,这里回填的时候,需要将绑定的value转为string类型才能成功回填
<el-select v-model="value" value-key="key" placeholder="请选择">
<el-option v-for="(value, key) in {0:'值1', 2:'值1', 3:'值1'}" :key="key" :label="value" :value="key" />
</el-select>
3. 对象
这种情况,对于可能我们的选项展示复杂一点,或者我们要取的值不仅是id,我们要获取整个对象,那回填的时候也需要把数据组装回一某个标示值(id)的对象才能够回填
<el-select v-model="temp.startObj" filterable value-key="id" default-first-option remote reserve-keyword :clearable="true" placeholder="请选择" :remote-method="getYards" :loading="selectLoading"style="width: 100%;"@change="handleChooseStart">
<el-option
v-for="item in customerYards"
:key="item.id"
:label="item.label"
:value="item"
:disabled="item.disabled"
/>
</el-select>
value取的整个对象,回填需要value-key="id"找到对象的值