一、template部分代码
<u--form labelPosition="left" :model="item" ref="personForm">
<u-form-item label="本人姓名" prop="name" borderBottom required>
<u--input v-model="item.name" border="none" placeholder="请填写本人姓名"></u--input>
</u-form-item>
<u-form-item label="性别" prop="sex" borderBottom required>
<u-radio-group v-model="item.sex" placement="row">
<u-radio :customStyle="{marginRight: '8px'}" label="男" :name="1">
</u-radio>
<u-radio :customStyle="{marginRight: '8px'}" label="女" :name="2">
</u-radio>
</u-radio-group>
</u-form-item>
</u--form>
二、data定义
data() {
return {
//from表单绑定的数据
item: {},
//自定义校验的规则
rules: {
name: {
type: 'string',
required: true,
message: '请填写本人姓名',
trigger: ['blur', 'change']
},
sex: {
type: 'number',
required: true,
min: 1,
message: '请选择男或女',
trigger: ['blur', 'change']
}
}
}
}
三、重点!!!调用校验方法(仅微信小程序需要这种情况,原因官网有写)
//如果是封装的组件需要在mounted调用,不然校验有时会不生效
//不是的话在onReady调用也可
mounted() {
this.$refs.personForm.setRules(this.rules)
},