<el-form class="form" v-for="(groups, index) in relationGroupList" :key="index" :model="groups" :inline="true" ref="form">
<el-form-item
style="width: 100%"
v-for="(item, subIndex) in groups.value"
:key="`${subIndex}`"
:prop="`value[${subIndex}]`"
:rules="rules"
>
<!-- 属性 -->
<el-select v-model="item.key" placeholder="请选择属性" style="width: 150px" filterable>
<el-option v-for="(item, index) in prop.propertyList" :key="index" :label="item.property_name + ' - ' + item.property_desc" :value="item.property_name"></el-option>
</el-select>
<!-- 关系 -->
<el-select v-model="item.operator" placeholder="请选择条件关系" style="width: 150px; margin-left: 10px;">
<el-option v-for="(item, index) in commonMap.operator_list" :key="index" :label="item.text" :value="operatorMap[item.id]"></el-option>
</el-select>
</el-form-item>
</el-form>
data格式如下:
relationGroupList: [
{
id: Math.random(),
value: [
{
key: '',
operator: '',
value: ''
}
]
}
],
请问一下,elemtn-ui,这种动态el-form中又有动态el-form-item,且el-form-item有多个组件的情况如何校验呢?
下拉框 选项值 动态校验,可以参考
看我这段代码,重点是prop的写法哦,或许能解决你的问题
<div style="margin-left:120px">
<el-button type="primary" size="mini" @click="addGuige" :disabled="form.specValue.length == 3">添加规格项</el-button>
<div class="hint" style="margin-left:10px">最多支持3个规格项</div>
<el-card class="box-card" style="width:90%;margin:20px 0" v-for="(item,index) in form.specValue" :key="index">
<el-button type="text" class="guigeitemRe" @click="guigeitemRe(index)" v-if="index != 0"><i class="el-icon-close" ></i></el-button>
<el-form-item label="规格名" :prop="'specValue.'+index+'.specName'" :rules='{ required: form.specType == "2" ? true : false, message: "请输入规格名", trigger: "blur" }'>
<el-input v-model="item.specName" size="small" maxlength="20" show-word-limit placeholder="" @blur="specNameBlur" style="width:300px;margin-right:20px" />
<el-checkbox-group v-model="item.isaddimg" @change="handleCheckedCitiesChange" style="display: inline-block">
<el-checkbox>添加规格图片</el-checkbox>
</el-checkbox-group>
</el-form-item>
<div style="margin-left:120px">
<div v-for="(item2,index2) in item.specList" :key="index2" class="guigeArr" style="display: inline-block;margin-bottom:15px">
<el-form-item :prop="'specValue.'+index+'.specList.'+index2+'.value'" :rules='{ required: form.specType == "2" ? true : false, message: "请输入规格值", trigger: "blur" }' style="display: inline-block">
<div class="inputItem">
<el-input v-model="item2.value" size="small" placeholder="" maxlength="50" show-word-limit style="width:160px;margin-right:10px;">
</el-input>
<div class="inputBtn">
<el-button type="danger" circle size="mini" @click="guigeRe(index,index2)" :disabled="item.specList.length == 1 && index2 == 0" class="el-icon-close"></el-button>
</div>
</div>
</el-form-item>
<div v-show="item.isaddimg" style="margin-top:6px">
<image-upload v-model="item2.addimg" :limit="1" :isShowTip="false" :mini="true" placeholder="请上传规格图片" class="guigeimg" style="margin-top:0"></image-upload>
</div>
</div>
<el-button type="primary" size="mini" @click="addGuigevalue(index)" style="vertical-align: top;">添加规格值</el-button>
</div>
</el-card>
</div>
为什么不一个条件一个form item 呢