项目场景:
提示:这里简述项目相关背景:
element中el-select的死循环问题,在大量数据的时候很难检查出什么问题,这里做一个记录
问题描述
<el-select v-model="formData.alarmType" placeholder="请选择公厕气体类别">
<el-option
v-for="item in options.gasCategoryList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
原因分析:
const gasNameRes = await getDictList({ nsId: GAS_NAME_NS_ID })
this.options.gasCategoryList = (gasNameRes.data.data || []).map(i => ({ ...i, value: Number(i.dictCode), label: i.dictName }))
注意这个Number,转换时如果数据时非数字,会转成NaN,循环option的时候会导致死循环
解决方案:
把NaN排除掉