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
屬性需要和表單對象formState
里面的字段username
對應(yīng)上,包含在標(biāo)簽里面的<a-input>
標(biāo)簽的v-model:value
綁定formState.username
這里a-form-item
里面的name
屬性是用來給rules
驗(yàn)證規(guī)則對應(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: "請輸入用戶名", 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ì)提示用戶
輸入字符長度不在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-地區(qū)選擇器(V-Distpicker)組件使用心得
這篇文章主要介紹了詳解VUE-地區(qū)選擇器(V-Distpicker)組件使用心得,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05Vue3中實(shí)現(xiàn)發(fā)送網(wǎng)絡(luò)請求功能(最新推薦)
Axios是一個(gè)基于Promise的HTTP客戶端,可以在瀏覽器和Node.js中用于發(fā)送HTTP請求,本文主要介紹在Vue3中實(shí)現(xiàn)發(fā)送網(wǎng)絡(luò)請求功能,感興趣的朋友一起看看吧2023-12-12vue倒計(jì)時(shí)刷新頁面不會(huì)從頭開始的解決方法
在本篇文章里小編給大家整理的是關(guān)于vue倒計(jì)時(shí)刷新頁面不會(huì)從頭開始的解決方法,需要的朋友們參考下。2020-03-03Vue實(shí)現(xiàn)右鍵菜單組件的超詳細(xì)教程(支持快捷鍵)
右鍵菜單組件非常常見,所有的前端開發(fā)工程師都會(huì)遇到類似的功能組件開發(fā)需求,這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)右鍵菜單組件的超詳細(xì)教程,文中介紹的方法支持快捷鍵,需要的朋友可以參考下2024-02-02詳解使用vue-cli腳手架初始化Vue項(xiàng)目下的項(xiàng)目結(jié)構(gòu)
這篇文章主要介紹了詳解使用vue-cli腳手架初始化Vue項(xiàng)目下的項(xiàng)目結(jié)構(gòu),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03使用vuetify實(shí)現(xiàn)全局v-alert消息通知的方法
使用強(qiáng)大的Vuetify開發(fā)前端頁面,結(jié)果發(fā)現(xiàn)官方?jīng)]有提供簡便的全局消息通知組件,所以自己動(dòng)手寫了一個(gè)簡單的組件,接下來通過本文給大家介紹使用vuetify實(shí)現(xiàn)全局v-alert消息通知的詳細(xì)代碼,感興趣的朋友跟隨小編一起看看吧2024-02-02vue各種事件監(jiān)聽實(shí)例(小結(jié))
這篇文章主要介紹了vue各種事件監(jiān)聽實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06