核心点
在元素上
:prop="'list.' + index + '.count'" :rules="rules.count"
完整代码
<a-form-model
ref="ruleForm"
layout="horizontal"
:model="form"
:rules="rules"
:label-col="{ span: 4 }"
:wrapper-col="{ span: 20 }"
>
<a-form-model-item label="选项类型:" prop="type">
<a-radio-group v-model="form.type">
<a-radio value="1">
单选
</a-radio>
<a-radio value="2">
多选
</a-radio>
<a-radio value="3">
文本
</a-radio>
</a-radio-group>
</a-form-model-item>
<a-form-model-item label="选项题目:" prop="name">
<a-input v-model="form.name"/>
</a-form-model-item>
<a-form-model-item label="选项内容:(最多添加5组)" :colon="false" :labelCol="{ span: 24 }" :wrapperCol="{ span: 24 }" prop="list">
<div v-for="(item,index) in form.list" :key="index" class="row-box">
<a-form-model-item style="width:325px" :label="'选项'+opt[index]" :prop="'list.' + index + '.value'" :labelCol="{ span: 6 }" :wrapperCol="{ span: 18 }" :rules="rules.value">
<a-input v-model="item.value"></a-input>
</a-form-model-item>
<a-form-model-item label="" :prop="'list.' + index + '.count'" :rules="rules.count">
<a-input style="width:80px;margin-left:8px" v-model="item.count"></a-input>
</a-form-model-item>
</div>
</a-form-model-item>
<a-form-model-item label="是否必填" prop="type">
<a-radio-group v-model="form.type">
<a-radio value="1">
是
</a-radio>
<a-radio value="2">
否
</a-radio>
</a-radio-group>
</a-form-model-item>
</a-form-model>
<script>
export default({
data(){
return{
form:{
type:'1',
name:'',
list:[
{
value:'',
count:''
},
]
},
rules:{
name:[{ required: true, message: '请输入选项题目', trigger: 'blur' }],
type:[{ required: true, message: '请选择选项类型', trigger: ['blur','change'] }],
list:[{ required: true, message: '请输入内容', trigger: ['change'] }],
value:[{ required: true, message: '请输入内容', trigger: ['blur'] }],
count:[{ required: true, message: '请输入分数', trigger: ['blur'] }],
},
}
},
})
</script>