表单最外测form
<n-form
ref="formRef"
:model="userForm"
:rules="rules"
label-placement="left"
label-width="auto"
require-mark-placement="right-hanging"
>
</n-form>
验证规则
const rules = {
xx: [
{
required: true,
validator (rule, value) {
if (!value) {
return new Error('xx不能为空!')
} else if (!/^[a-zA-Z0-9]{3,10}$/.test(value)) {
return new Error('应设置3至10位的账号(字母、数字)!')
}
return true
},
trigger: [ 'input', 'blur' ]
}
],
输入input
<n-input v-model:value="Form.xx" />
下拉选择 select
<n-select
v-model:value="Form.xx"
placeholder="请选择"
:options="Options"
/>
const Options = [
{
label: 'xx',
value: '1'
},
{
label: 'yy',
value: '2'
},
{
label: 'zz',
value: '3'
}
]
单选 Radio
<n-radio-group v-model:value="Form.xx" name="radiogroup">
<n-space>
<n-radio v-for="song in songs" :key="song.value" :value="song.value">
{{ song.label }}
</n-radio>
</n-space>
</n-radio-group>
const generalOptions = [ 'groode', 'veli good', 'emazing', 'lidiculous' ].map((v) => ({
label: v,
value: v
}))
songs:[
value:"",
label:"",
]