這篇要來介紹,基本常用的一些表單元素,與 Vue 的資料綁定時會如何做
我們一樣先把 Vue 的架構寫出來,只是這次在 data 內新增多個變數來存放不同的表單元素資料:
<script>
var app = new Vue({
el: '#app',
data: {
text: '',
textarea: '',
checkboxArray: [],
checkbox1: false,
selected: '',
singleRadio: ''
}
})
</script>
上述把 Vue 的資料變數都定義好了之後,我們就可以來跟表單元素做綁定,首先是字串的部分:
<div id="app">
{{ text }}
<input type="text" v-model="text">
</div>
一樣用 v-model 來綁定 text 這個變數
再來是 textarea 元素:
<div id="app">
{{ text }}
<input type="text" v-model="text">
{{ textarea }}
<textarea v-model="textarea"></textarea>
</div>
這裡也是使用 v-model 來綁定 textarea 這個變數
接下來就是 checkbox & radio 元素:
<div id="app">
{{ text }}
<input type="text" v-model="text">
{{ textarea }}
<textarea v-model="textarea"></textarea>
<input type="checkbox" v-model="checkbox1">
</div>
會發現這個 checkbox 也是用 v-model 來綁定資料,而綁定的是 checkbox1 這個變數
不同於先前,checkbox 跟 radio 只有 true 和 false 這兩個值
所以勾選了就是 true 取消勾選就會是 false,可以用 Vue 開發者工具查看
接著是 checkbox 的多選:
<div id="app">
{{ text }}
<input type="text" v-model="text">
{{ textarea }}
<textarea v-model="textarea"></textarea>
<input type="checkbox" v-model="checkbox1">
<input type="checkbox" value="雞肉" v-model="checkboxArray">雞肉
<input type="checkbox" value="豬肉" v-model="checkboxArray">豬肉
<input type="checkbox" value="牛肉" v-model="checkboxArray">牛肉
<p>火鍋裡有<span v-for="item in checkboxArray">{{ item }} </span></p>
</div>
多選的 checkbox 我們是使用 checkboxArray 這個陣列資料變數來做綁定,我們要把我們勾選的多個值,存進去一個陣列內,顯示在頁面上時,我們在用 v-for 迴圈去繞出來
接著是 radio 的單選:
<div id="app">
{{ text }}
<input type="text" v-model="text">
{{ textarea }}
<textarea v-model="textarea"></textarea>
<input type="checkbox" v-model="checkbox1">
<input type="checkbox" value="雞肉" v-model="checkboxArray">雞肉
<input type="checkbox" value="豬肉" v-model="checkboxArray">豬肉
<input type="checkbox" value="牛肉" v-model="checkboxArray">牛肉
<p>火鍋裡有<span v-for="item in checkboxArray">{{ item }} </span></p>
<input type="radio" value="雞肉" v-model="singleRadio">雞肉
<input type="radio" value="豬肉" v-model="singleRadio">豬肉
<input type="radio" value="牛肉" v-model="singleRadio">牛肉
<p>火鍋裡有 {{ singleRadio }}</p>
</div>
單選的 radio 元素,我們採用 singleRadio 這個資料變數,當我們勾選到那個選項時,會把值帶進這個變數內
顯示在頁面上時,跟字串的方式一樣
最後是 select 元素:
<div id="app">
{{ text }}
<input type="text" v-model="text">
{{ textarea }}
<textarea v-model="textarea"></textarea>
<input type="checkbox" v-model="checkbox1">
<input type="checkbox" value="雞肉" v-model="checkboxArray">雞肉
<input type="checkbox" value="豬肉" v-model="checkboxArray">豬肉
<input type="checkbox" value="牛肉" v-model="checkboxArray">牛肉
<p>火鍋裡有<span v-for="item in checkboxArray">{{ item }} </span></p>
<input type="radio" value="雞肉" v-model="singleRadio">雞肉
<input type="radio" value="豬肉" v-model="singleRadio">豬肉
<input type="radio" value="牛肉" v-model="singleRadio">牛肉
<p>火鍋裡有 {{ singleRadio }}</p>
<select v-model="selected">
<option value="">-- 請選擇 --</option>
<option value="小明">小明</option>
<option value="小美">小美</option>
</select>
</div>
一樣用 v-model 綁定 selected 這個變數,當選擇到那個選項時,就會把那個選項的 value 帶進變數內,一樣可用 Vue 的開發者工具查看
以上就是常用的表單元素,跟 Vue 的資料做綁定。