<>先说重点,prop中的名称要和ruleForm中对应的字段名一致
<>上element UI 官方文档
<div class="details_main"> <el-form ref="form" :model="form" :rules="rules"
class="detail_form"> <template> <div v-for="(item, index) in subjectData"
:key="item.id"> <!-- 单选循环处 --> <el-form-item v-if="item.tmlxD == 'RADIO'"
label=" " class="form_item" :prop="'radio' + [index + 1]" > <p
class="form_title">{{ item.tmmc }}</p> <!-- 单选选项循环 --> <el-radio-group
v-model="form['radio' + [index + 1]]" class="group_style"
:disabled="disabledShow" @change="radioFn(item, index)" > <template> <div
v-for="radioOption in item.tmxxPoList" :key="radioOption.id" :label="index + 1"
> <el-radio v-model="form['radio' + [index + 1]]" :label="radioOption.id" > {{
radioOption.tmxx }} </el-radio> </div> </template> </el-radio-group>
</el-form-item> <!-- 多选循环处 --> <el-form-item v-if="item.tmlxD == 'MULTIPLE'"
required label="" class="form_item" > <!-- 多选选项循环 --> <p class="form_title">{{
item.tmmc }}</p> <el-checkbox-group v-model="form['checked' + [index + 1]]"
class="group_style" :disabled="disabledShow" @change="checkFn(item, index)" >
<el-checkbox v-for="checkItem in item.tmxxPoList" :key="checkItem.id"
:label="checkItem.id" >{{ checkItem.tmxx }}</el-checkbox > </el-checkbox-group>
</el-form-item> <!-- 问答问题循环处 --> <el-form-item v-if="item.tmlxD == 'QA'"
required label="" class="form_item" > <p class="form_title"> {{ item.tmmc }}
</p> <el-input v-model="form['wd' + [1 + index]]" placeholder="请输入"
type="textarea" rows="6" :disabled="disabledShow" @change="textareaFn(item,
index)" /> </el-form-item> </div> </template> </el-form> </div>
起初以为prop中字段名称只要和rules对应一致就行,然后就各种尝试,都不行。百度寻找方法,各种条件都满足了,还是不能正常校验(我比较奇葩,乱换名称)
。最后对着官方文档一一验证,最后发现问题所在。
<>没事不要乱换名字!!!