日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue表单的用法

發布時間:2023/12/18 vue 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue表单的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

你可以用?v-model?指令在表單控件元素上創建雙向數據綁定。它會根據控件類型自動選取正確的方法來更新元素。盡管有些神奇,但?v-model?本質上不過是語法糖,它負責監聽用戶的輸入事件以更新數據,并特別處理一些極端的例子。

v-model?會忽略所有表單元素的?value、checked、selected?特性的初始值。因為它會選擇 Vue 實例數據來作為具體的值。你應該通過 JavaScript 在組件的?data?選項中聲明初始值。

對于要求?IME?(如中文、日語、韓語等) (IME 意為“輸入法”)的語言,你會發現?v-model?不會在 ime 輸入中得到更新。如果你也想實現更新,請使用?input?事件。

文本

<input v-model="message" placeholder="edit me"> <p>Message is: {{ message }}</p>

Message is:

多行文本

<span>Multiline message is:</span> <p style="white-space: pre-line;">{{ message }}</p> <br> <textarea v-model="message" placeholder="add multiple lines"></textarea>
Multiline message is:

m kl


在文本區域插值 (<textarea></textarea>) 并不會生效,應用?v-model?來代替。

復選框

單個勾選框,邏輯值:

<input type="checkbox" id="checkbox" v-model="checked"> <label for="checkbox">{{ checked }}</label>
false

多個勾選框,綁定到同一個數組:

<div id='example-3'> <input type="checkbox" id="jack" value="Jack" v-model="checkedNames"> <label for="jack">Jack</label> <input type="checkbox" id="john" value="John" v-model="checkedNames"> <label for="john">John</label> <input type="checkbox" id="mike" value="Mike" v-model="checkedNames"> <label for="mike">Mike</label> <br> <span>Checked names: {{ checkedNames }}</span> </div>
new Vue({ el: '#example-3', data: { checkedNames: [] } })
Jack??John??Mike?
Checked names: []

單選按鈕

<div id="example-4"> <input type="radio" id="one" value="One" v-model="picked"> <label for="one">One</label> <br> <input type="radio" id="two" value="Two" v-model="picked"> <label for="two">Two</label> <br> <span>Picked: {{ picked }}</span> </div>
new Vue({ el: '#example-4', data: { picked: '' } })
One?
?Two?
Picked:

選擇列表

單選列表:

<div id="example-5"> <select v-model="selected"> <option disabled value="">請選擇</option> <option>A</option> <option>B</option> <option>C</option> </select> <span>Selected: {{ selected }}</span> </div>
new Vue({ el: '...', data: { selected: '' } })
請選擇 ? A ? B ? C?Selected: A

如果?v-model?表達初始的值不匹配任何的選項,<select>?元素就會以”未選中”的狀態渲染。在 iOS 中,這會使用戶無法選擇第一個選項,因為這樣的情況下,iOS 不會引發 change 事件。因此,像以上提供 disabled 選項是建議的做法。

多選列表 (綁定到一個數組):

<div id="example-6"> <select v-model="selected" multiple style="width: 50px;"> <option>A</option> <option>B</option> <option>C</option> </select> <br> <span>Selected: {{ selected }}</span> </div>
new Vue({ el: '#example-6', data: { selected: [] } })
A ? B ? C?
Selected: [ "C" ]

動態選項,用?v-for?渲染:

<select v-model="selected"> <option v-for="option in options" v-bind:value="option.value"> {{ option.text }} </option> </select> <span>Selected: {{ selected }}</span>
new Vue({ el: '...', data: { selected: 'A', options: [ { text: 'One', value: 'A' }, { text: 'Two', value: 'B' }, { text: 'Three', value: 'C' } ] } })
One? ? ??? ?? ?Two? ? ??? ?? ?Three? ? ??Selected: C

值綁定

對于單選按鈕,勾選框及選擇列表選項,v-model?綁定的 value 通常是靜態字符串 (對于勾選框是邏輯值):

<!-- 當選中時,`picked` 為字符串 "a" --> <input type="radio" v-model="picked" value="a"> <!-- `toggle` 為 true 或 false --> <input type="checkbox" v-model="toggle"> <!-- 當選中時,`selected` 為字符串 "abc" --> <select v-model="selected"> <option value="abc">ABC</option> </select>

但是有時我們想綁定 value 到 Vue 實例的一個動態屬性上,這時可以用?v-bind?實現,并且這個屬性的值可以不是字符串。

復選框

<input type="checkbox" v-model="toggle" v-bind:true-value="a" v-bind:false-value="b" >
// 當選中時 vm.toggle === vm.a // 當沒有選中時 vm.toggle === vm.b

單選按鈕

<input type="radio" v-model="pick" v-bind:value="a">
// 當選中時 vm.pick === vm.a

選擇列表的選項

<select v-model="selected"> <!-- 內聯對象字面量 --> <option v-bind:value="{ number: 123 }">123</option> </select>
// 當選中時 typeof vm.selected // => 'object' vm.selected.number // => 123

修飾符

.lazy

在默認情況下,v-model?在?input?事件中同步輸入框的值與數據 (除了?上述?IME 部分),但你可以添加一個修飾符?lazy?,從而轉變為在?change?事件中同步:

<!-- 在 "change" 而不是 "input" 事件中更新 --> <input v-model.lazy="msg" >

.number

如果想自動將用戶的輸入值轉為 Number 類型 (如果原值的轉換結果為 NaN 則返回原值),可以添加一個修飾符?number?給?v-model?來處理輸入值:

<input v-model.number="age" type="number">

這通常很有用,因為在?type="number"?時 HTML 中輸入的值也總是會返回字符串類型。

.trim

如果要自動過濾用戶輸入的首尾空格,可以添加?trim?修飾符到?v-model?上過濾輸入:

<input v-model.trim="msg">

轉載于:https://www.cnblogs.com/fdxxiaobai/p/7704665.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的vue表单的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。