Home  >  Article  >  Web Front-end  >  Detailed explanation of the values ​​of radio buttons, check buttons and drop-down lists in Vue.js form tags

Detailed explanation of the values ​​of radio buttons, check buttons and drop-down lists in Vue.js form tags

小云云
小云云Original
2017-12-12 11:31:374249browse

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
 }
 });
}


##html code segment:


<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>


Effect screenshot:

During initialization, the hobbies01 value is an empty string and is false when converted to a Boolean type, so it is not Selected; the value of hobbies02 is the string "....", which is converted to Boolean type and is true, so it is selected by default; the default value of hobbies03 is false, so it is not selected during initialization.

Since then, every time you click the multi-select button, the values ​​of hobbies01, hobbies02, and hobbies03 will change true | false.

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:[]
 }
 });
}


html code snippet:


<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>


Effect screenshot:

When initialized, hobbies is an empty array. Note the corresponding changes in the order of mouse clicks and hobbies values.


##3. Drop-down list Drop-down list: v-model in the drop-down list is written in the label of the drop-down list4c2d1aa5e9de0e6626df682d951efeb2 based on the specified value to add a selected state.

Option has no value attribute, and the value in the positive and negative tags of option is used as value.

3.1 Drop-down list

js code snippet:

window.onload = function (){
 new Vue({
 el:"#app",
 data:{
  s:""
 }
 });
}


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 value

When 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:

Vue.js form control practice

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn