在项目中,需要使用v-for循环出多个el-col,同时要使用v-if,此时,编辑器会报错,提示不能同时使用v-for和v-if, 要想同时使用,只需要在外面用包裹,把v-for放在template标签中就可以了
<el-form class="diy-form" label-width="80px" :model="modelName" ref="refName">
<el-row type="flex" :justify="sortTypes" style="flex-wrap: wrap; flex-direction: row">
<template v-for="(item,index) in searchInfoArr">
<el-col :sm="8" :md="6" :lg="4" :key="item.label" v-if="(isShowOtherSearch || searchDiffNum > index)">
<el-form-item :label="item.label" v-if="item.type=='1'">
<el-input v-model="item.value" :placeholder="item.label"></el-input>
</el-form-item>
<el-form-item :label="item.label" v-if="item.type=='2'">
<el-select v-model="item.value" placeholder="请选择" style="width: 100%">
<el-option
v-for="val in item.options"
:label="val.label"
:value="val.value"
:key="val.label"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="item.label" v-if="item.type=='3'">
<el-cascader style="width: 100%"
expand-trigger="hover"
:options="item.options"
v-model="item.value"
@change="handleChange"
>
</el-cascader>
</el-form-item>
</el-col>
</template>
</el-row>
</el-form>