antd Form組件表單在vue3中的使用方式
antd Form組件表單在vue3使用
antd Form表單組件有個(gè)最需要注意的問題,
官方文檔里寫的很清楚

這是什么意思,我們下面說個(gè)例子就明白了:
<template>
<a-form
ref="formRef"
:model="formState"
:rules="rules"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-form-item ref="username" name="username">
<label>Username:</label>
<a-input v-model:value="formState.username" />
</a-form-item>
<a-form-item :wrapper-col="{ span: 14, offset: 4 }">
<a-button type="primary" @click="onSubmit">Create</a-button>
<a-button style="margin-left: 10px" @click="resetForm">Reset</a-button>
</a-form-item>
</a-form>
</template>

這里<a-form-item>的標(biāo)簽name屬性需要和表單對(duì)象formState里面的字段username對(duì)應(yīng)上,包含在標(biāo)簽里面的<a-input>標(biāo)簽的v-model:value綁定formState.username
這里a-form-item里面的name屬性是用來(lái)給rules驗(yàn)證規(guī)則對(duì)應(yīng)使用的

import { defineComponent, reactive, ref, toRaw } from "vue"
export default defineComponent({
setup() {
const formState = reactive({
name: "",
username: '',
password: '',
password2: '',
code: ''
})
const rules = {
username: [
{ required: true, message: "請(qǐng)輸入用戶名", trigger: "blur" },
{ min: 3, max: 5, message: "Length should be 3 to 5", trigger: "blur" }
]
}
return {
labelCol: {
span: 4,
},
wrapperCol: {
span: 14,
},
formState,
rules
}
}
})
表單數(shù)據(jù)存在formState里面

驗(yàn)證規(guī)則存在rules里面

最后別忘了返回:

效果:
當(dāng)失去焦點(diǎn)的時(shí)候,會(huì)提示用戶

輸入字符長(zhǎng)度不在3-5之間的話,也會(huì)提示:

但是如果這樣寫,就不會(huì)有錯(cuò)誤提示了:

效果:
失去焦點(diǎn)以后,并不會(huì)提示:

這就是官方文檔里面提到的,<a-form-item>只會(huì)監(jiān)聽第一個(gè)子元素的變化

如果我們調(diào)換一下位置:

又可以提示了:

如果非要把label放在輸入框上面,又不想影響提示功能,怎么辦??
<a-form-item>上面套一個(gè)div不就完事了:

效果:

當(dāng)然最方便的就是默認(rèn)的樣式,直接在<a-form-item>標(biāo)簽里面配置label屬性就可以了:

效果:

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue中的H5移動(dòng)端項(xiàng)目?真機(jī)測(cè)試配置方式
這篇文章主要介紹了vue中的H5移動(dòng)端項(xiàng)目?真機(jī)測(cè)試配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Vue2響應(yīng)式系統(tǒng)之set和delete
這篇文章主要介紹了Vue2響應(yīng)式系統(tǒng)之set和delete,通過為對(duì)象收集依賴,將對(duì)象、數(shù)組的修改、刪除也變成響應(yīng)式的了,同時(shí)為用戶提供了和方法,下文詳細(xì)介紹需要的朋友可以參考一下2022-04-04
從Vuex中取出數(shù)組賦值給新的數(shù)組,新數(shù)組push時(shí)報(bào)錯(cuò)的解決方法
今天小編就為大家分享一篇從Vuex中取出數(shù)組賦值給新的數(shù)組,新數(shù)組push時(shí)報(bào)錯(cuò)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-09-09
Vue ElementUI this.$confirm async await封
這篇文章主要介紹了Vue ElementUI this.$confirm async await封裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Vue實(shí)現(xiàn)倒計(jì)時(shí)小功能
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)倒計(jì)時(shí)小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
vue通過watch對(duì)input做字?jǐn)?shù)限定的方法
本篇文章主要介紹了vue通過watch對(duì)input做字?jǐn)?shù)限定的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
基于vue-cli3+typescript的tsx開發(fā)模板搭建過程分享
這篇文章主要介紹了搭建基于vue-cli3+typescript的tsx開發(fā)模板,本文通過實(shí)例代碼截圖的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02

