This article shares with you an analysis of form input binding and component basics in Vue. Friends in need can refer to it.
Goal:
Proficiently master the processing of forms in vue
Briefly review the content you have learned before, and Write an example and apply what you have learned (it is best to leave the document)
The processing of forms in vue uses v-model instruction, this instruction can directly bind a data to the value, checked, and selected attributes in the form element. At the same time, these attributes will also be ignored with the initial value, and the data of the vue instance will always be used as the data source.
After using v-model, the interpolation between <textarea></textarea>
will not be effective and will be replaced by v-model.
1. Binding value: text, textarea (string)
text:
<input v-model="message" placeholder="edit me">
textarea:
<textarea v-model="message" placeholder="add multiple lines"></textarea>
2. Binding checked: checkout (single binding Boolean value, multiple binding string arrays), radio (string)
checkout (single):
<input type="checkbox" id="checkbox" v-model="checked">
checkout(multiple):
<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>
radio:
<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>
3. Binding selected: select(string)
<select v-model="selected"> <option disabled value="">请选择</option> <option>A</option> <option>B</option> <option>C</option> </select>
.lazy: The triggered events are different, use change trigger instead of input trigger
.number: Automatically converted to numeric type
.trim: Automatically filter guard whitespace symbols
form.html
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>表单输入绑定</title> <script src="https://cdn.bootcss.com/vue/2.5.17-beta.0/vue.min.js"></script> </head> <body> <p id="app"> <form> <!-- 文本 --> <input type="text" v-model="formData.textValue">{{formData.textValue}}<br> <textarea v-model="formData.textareaValue"></textarea>{{formData.textareaValue}}<br> <!-- checkout(单个) --> <input type="checkbox" id="checkbox" v-model="formData.isChecked"><label for="checkbox">点我啊</label><br> <!-- 多个多选 --> <input type="checkbox" id="haha" value="haha" v-model="formData.checkedValues"> <label for="haha">哈哈</label> <input type="checkbox" id="hoho" value="hoho" v-model="formData.checkedValues"> <label for="hoho">呵呵</label> <input type="checkbox" id="hihi" value="hihi" v-model="formData.checkedValues"> <label for="hihi">嘻嘻</label> <br> 多选选中的是<span v-for="value of formData.checkedValues"> {{value}} </span> <br> <!-- 单选 --> <input type="radio" id="one" value="one" v-model="formData.pickedValue"> <label for="one">one</label> <input type="radio" id="two" value="two" v-model="formData.pickedValue"> <label for="two">two</label> <input type="radio" id="three" value="three" v-model="formData.pickedValue"> <label for="three">three</label> <br> 单选选中的是<span> {{formData.pickedValue}} </span> <br> <!-- 下拉选择框 --> <select v-model="formData.selectedValue"> <option disabled value="">请选择</option> <option>A</option> <option>B</option> <option>C</option> </select> <br> 下拉选择框选中的是<span> {{formData.selectedValue}} </span> <br> <a @click="submitForm">提交</a> </form> </p> </p> <script> var vm = new Vue({ el: '#app', data: { formData: { textValue: '', textareaValue: '', isChecked: true, checkedValues: [], pickedValue:'', selectedValue: '' }, msg: '这是一句消息' }, methods: { submitForm: function(){ for(var key in this.formData) { obj[key] = this.formData[key]; } console.log(this.formData); console.log(this.msg); } } }); </script> </body> </html>
Related recommendations:
Analysis of event processing in Vue
Analysis of class and style binding and conditional and list rendering in Vue
The above is the detailed content of Analysis of form input binding and component basics in Vue. For more information, please follow other related articles on the PHP Chinese website!