Vue.js can easily implement two-way data binding, so it has great advantages in processing forms and human-computer interaction. Let me introduce to you the value issues of radio buttons, check buttons and drop-down lists in Vue.js form tags.
Abstract: In the form label value problem, radio buttons, check buttons and drop-down lists are all special. Here is a summary of the special issues regarding the value of radio buttons, check buttons and drop-down lists in different situations in vue.js.
1. Radio button
Radio button: The radio button uses v-model to bind the value attribute to indicate checked. Used to determine whether it is selected.
When the radio button does not write a value, assign the value to null in vue.js.
In ordinary tags, when no name is written, HTML will group the radio buttons without name into a group by default;
In vue, even if no name is written, as long as the single button The button v-model is bound to the same variable (such as gender), and these buttons will also be grouped into a group. But as a habit, we still write name.
The value of the variable gender defined in data will affect the default option of the radio button, such as: In this example, gender: "female", female is selected by default.
js part code:
window.onload = function (){ new Vue({ el:"#app", data:{ gender:"女" } }); }
html part code:
<body> <p id="app"> <!-- 单选按钮:单选按钮用 v-model 绑定填值属性用来表示checked,用于判断是否选中。 当单选按钮没写value值时,在vue中将值赋为null 在普通标签中,当没写name时,html 会默认将没写name 的单选按钮分为一组; 在vue中,即使没写name,只要单选按钮v-model绑定了同一个变量(如:gender),这些按钮也会被分为一组。
But as a rule, we still write name
The value of the variable gender defined in data will affect the default value of the radio button Options, such as: In this example, gender: "female", female is selected by default.
--> <input type="radio" id="man" name="gender" value="男" v-model="gender"> <label for="man">男</label> <input type="radio" id="woman" name="gender" value="女" v-model="gender"> <label for="woman">女</label> </p> </body>
2. Check button
Check button: The radio button uses v-model to bind the value attribute to indicate checked, and is used to determine whether it is selected.
When the multi-select button does not write a value, assign the value to null in vue.js.
How vue.js takes the value of the check button depends on the type of the variable bound to v-model.
1. Basic types
During initialization, v-model is bound to any basic type (Number, String, Boolean, Null, Undefined), and the value It will be converted to Boolean type by default, true means selected, false means unselected.
js code segment:
window.onload = function (){ new Vue({ el:"#app", data:{ hobbies01:"", hobbies02:"...", hobbies03:false } }); }
<body> <p id="app"> <!-- v-model 绑定的是基本类型 --> <input type="checkbox" name="hobbies" id="box01" value="敲代码" v-model="hobbies01"> <label for="box01">敲代码</label> <input type="checkbox" name="hobbies" id="box02" value="写代码" v-model="hobbies02"> <label for="box02">写代码</label> <input type="checkbox" name="hobbies" id="box03" value="撸代码" v-model="hobbies03"> <label for="box03">撸代码</label> <hr/> </p> </body>
2. Array
During initialization, when the variable bound to v-model is of array type. Vue thinks that this check button is used to obtain the value, and will write the corresponding value into the array in the order of selection (mouse click). js code snippet:window.onload = function (){ new Vue({ el:"#app", data:{ hobbies:[] } }); }
<body> <p id="app"> <!-- v-model 绑定时数组 --> <input type="checkbox" name="hobbies" id="box01" value="敲代码" v-model="hobbies"> <label for="box01">敲代码</label> <input type="checkbox" name="hobbies" id="box02" value="写代码" v-model="hobbies"> <label for="box02">写代码</label> <input type="checkbox" name="hobbies" id="box03" value="撸代码" v-model="hobbies"> <label for="box03">撸代码</label> </p> </body>
##3. Drop-down list Drop-down list: v-model in the drop-down list is written in the label of the drop-down list
html code snippet:
<body> <p id="app"> <select v-model="s"> <option value="s1">小学</option> <option value="s2">中学</option> <option value="s3">大学</option> <option itany="itany" value="">请选择</option> </select> </p> </body>
Result analysis:
Because the initial value of variable s is an empty string, so "Please select an option" is selected by default (the default option can be changed according to the initial value of s). When other options are selected, the value of s will change accordingly (string: "s1"/"s2"/"s3").
3.2 Unwritten valueWhen value is not written, the value of s will become "primary school"/"middle school"/"university".
3.3 Multi-select drop-down list
Multiple keywords, hold down the ctrl key for multiple selections. Note that the variable bound to the model should be an array at this time.
Related recommendations:
Discussion on components and templates in Vue.js
Detailed explanation of learning common instructions of Vue.js
The above is the detailed content of Detailed explanation of the values of radio buttons, check buttons and drop-down lists in Vue.js form tags. For more information, please follow other related articles on the PHP Chinese website!