Vue3學(xué)習(xí)之表單的使用示例詳解
1.Vue3表單概述
我們可以用 v-model 指令在表單 <input>、<textarea> 及 <select> 等元素上創(chuàng)建雙向數(shù)據(jù)綁定。
v-model 會根據(jù)控件類型自動選取正確的方法來更新元素。
v-model 會忽略所有表單元素的 value、checked、selected 屬性的初始值,使用的是 data 選項中聲明初始值。
v-model 在內(nèi)部為不同的輸入元素使用不同的屬性并拋出不同的事件:
- text 和 textarea 元素使用 value 屬性和 input 事件;
- checkbox 和 radio 使用 checked 屬性和 change 事件;
- select 字段將 value 作為屬性并將 change 作為事件。
2.雙向數(shù)據(jù)綁定
input 和 textarea 元素中使用 v-model 實現(xiàn)雙向數(shù)據(jù)綁定
代碼:
<div id="app"> <p>input元素:</p> <input v-model="message" placeholder="改動一下我試試吧..."> <p>{{ message }}</p> <p>textarea元素:</p> <textarea v-model="info" placeholder="改動一下我試試吧..."></textarea> <p>{{ info }}</p> </div> <script> const app = { data() { return { message: '', info: 'CSDN - dahezhiquan' } } } Vue.createApp(app).mount('#app') </script>
演示效果,成功實現(xiàn)了數(shù)據(jù)的雙向綁定:
3.復(fù)選框綁定
代碼:
<div id="app"> <p>單個復(fù)選框:</p> <input type="checkbox" id="checkbox" v-model="checked"> <label for="checkbox">{{ checked }}</label> <p>多個復(fù)選框:</p> <input type="checkbox" id="imustctf" value="Imustctf" v-model="checkedNames"> <label for="imustctf">Imustctf</label> <input type="checkbox" id="google" value="Google" v-model="checkedNames"> <label for="google">Google</label> <input type="checkbox" id="taobao" value="Taobao" v-model="checkedNames"> <label for="taobao">taobao</label> <br> <span>選擇的值為: {{ checkedNames }}</span> </div> <script> const app = { data() { return { checked: false, checkedNames: [] } } } Vue.createApp(app).mount('#app') </script>
效果展示:
4.select 列表綁定
代碼:
<div id="app"> <select v-model="selected"> <option value="">選擇一個網(wǎng)站</option> <option value="www.baidu.com">baidu</option> <option value="www.google.com">Google</option> <option value="www.sougou.com">sougou</option> </select> <div> 選擇的網(wǎng)站是: {{ selected }} </div> </div> <script> const app = { data() { return { selected: '' } } } Vue.createApp(app).mount('#app') </script>
展示效果:
5.修飾符
.lazy:
在默認(rèn)情況下, v-model 在 input 事件中同步輸入框的值與數(shù)據(jù),但你可以添加一個修飾符 lazy ,從而轉(zhuǎn)變?yōu)樵?change 事件中同步:
<!-- 在 "change" 而不是 "input" 事件中更新 --> <input v-model.lazy="msg" >
.number:
如果想自動將用戶的輸入值轉(zhuǎn)為 Number 類型(如果原值的轉(zhuǎn)換結(jié)果為 NaN 則返回原值),可以添加一個修飾符 number 給 v-model 來處理輸入值:
<input v-model.number="age" type="number">
.trim:
如果要自動過濾用戶輸入的首尾空格,可以添加 trim 修飾符到 v-model 上過濾輸入:
<input v-model.trim="msg">
到此這篇關(guān)于Vue3學(xué)習(xí)之表單的使用示例詳解的文章就介紹到這了,更多相關(guān)Vue3表單內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解三種方式解決vue中v-html元素中標(biāo)簽樣式
這篇文章主要介紹了三種方式解決vue中v-html元素中標(biāo)簽樣式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11Vue3實現(xiàn)跨頁面?zhèn)髦档膸追N常見方法
在Vue 3中,跨頁面?zhèn)髦悼梢酝ㄟ^多種方式實現(xiàn),具體選擇哪種方法取決于應(yīng)用的具體需求和頁面間的關(guān)系,本文列舉了幾種常見的跨頁面?zhèn)髦捣椒?感興趣的同學(xué)跟著小編來看看吧2024-04-04Vue實現(xiàn)騰訊云點播視頻上傳功能的實現(xiàn)代碼
這篇文章主要介紹了Vue實現(xiàn)騰訊云點播視頻上傳功能的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08Vue3+vant+ts 上滑加載解決上滑調(diào)用多次數(shù)據(jù)的問題(推薦)
這篇文章主要介紹了Vue3+vant+ts 上滑加載解決上滑調(diào)用多次數(shù)據(jù)的問題,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-12-12