问题描述:
城市安全预警系统中 开发AutoComplate组件与select组件使用的option动态从data数据中构建,data数据来源于自定义的object数据中的一个字段,该字段初始未定义导致构建option不能及时响应。
解决方案:
目前解决方案是首先在组件上使用v-if判断该变量是否已初始化,如果已经初始化才渲染该组件就解决了这个不响应的问题。
附代码:
<template v-else-if="item.fieldType=='AutoComplete'&&auCoData[item.field]!=null">
<AutoComplete
v-model="(((item.readOnly!=null?item.readOnly:readOnly)&&item.chaKanZiDuan!=null)==true)?formData[item.chaKanZiDuan]:formData[item.field]"
:disabled="item.readOnly!=null?item.readOnly:readOnly"
@on-search="handleAuCoSearch(index)"
@on-select="(value)=>{handleAuCoSelect(index,value);}"
placeholder="">
<Option v-for="item2 in auCoData[item.field]" :value="item2[item.auCoName]" :key="item2[item.auCoId]">{{ item2[item.auCoName] }}</Option>
</AutoComplete>
</template>
<template v-else-if="item.fieldType=='AutoCompleteSelect'&&auCoData[item.field]!=null">
<Select v-model="formData[item.field]" :loading="auCoLoading[item.field]"
filterable :remote-method="(value)=>{handleAuCoSearchSelect(index,value)}" :disabled="item.readOnly!=null?item.readOnly:readOnly">
<Option v-for="item2 in auCoData[item.field]" :value="item2[item.auCoName]" :key="item2[item.auCoId]">{{ item2[item.auCoName] }}</Option>
</Select>
</template>