vue.js中的表单radio,select,textarea的v-model属性的用法

只要是表单元素,其值已经不会再用value来定义了,但是placeholder还是可以用来设置默认值。

section1--input:type="text"

   type="text"不要在标签上定义value值(因为vue已经处理了),要用v-model="currentValue" 

        data:{currentValue:"xxx"}

        <input type="text" v-model="currentValue"/>  

        // input显示结果: xxx

 section2--radio:

    type="radio"的选中状态不是根据checked来选中的,而是在data中定义一个属性,且让属性的值等于value的值,就会被选中了。(反过来,如果选中了,则v-model = value)        

            data:{currentValue:"red"}

            point: 以下两个radio 用同一个v-model="currentValue"表明是同一组。

            <input type="radio" v-model="currentValue" value="red"/>  

            <input type="radio" v-model="currentValue" value="green"/>  

            // value= currentValue 的值后,rodio就会选中,其他的radio都不会选中。

使用v-bind:

<input type="radio" v-model="pick" v-bind:value="a">
// 当选中时
vm.pick === vm.a

section3--textarea:

                与type=text差不多一样

section4--checkbox:

            point 1:通过预设一个boolean值来控制多选,当我们点击时,vue会根据v-model设定的true false对应取反,过程我们看不见的。

            e.g:这是一种不设置value属性的用法 ,其实checkbox原生应用中也是可以设置value的

                     data:{checked :true}     //这里的checked是boolean

                    <input type="checkbox" id="checkbox" v-model="checked">

                    <label for="checkbox">{{ checked }}</label>

           point 2:click后checked的值vue会自动取反。

            more exercise:设置checkbox中的value值,点击后通过v-model就会把value添加到数组上,value不设置就是null.

            

            记得上面的value一定要设置,否则是null。

            data:{toggle:true(可为任意值)}

            point3--checkbox中的true-value = "yes2"自带属性 ,当用户点击的时候,vm.toggle === yes2

<input
type="checkbox"
v-model="toggle"
true-value="yes2"
false-value="no2"

            section5--select:

            有两种:1是普通的data中定义的属性用string类,即:v-model="'string'",2.多选的要在元素上加一个multiple属性,v-model="[]",其它的都跟原生用法差不多。

            e.g:    

            data:{ selected:[] }        

      <select v-model="selected" multiple style="width: 50px;">
        <option>A</option>
        <option>B</option>
        <option>C</option>
      </select>
      <span>Selected: {{ selected }}</span>
        result:

           ctrl + 左击:会将所有option的text添加到selected数组中。

            select 原生使用:

    <select>
    <option value ="volvo">Volvo</option>
    </select>
              ///////////////使用v-bind:///////////////////

                <select v-model="selected">

                        <option v-bind:value="{mname:'tcc'}"></option>

                  </select>             

            则:vm.selected = {mname:'tcc'}

                   vm.selected .mname = "tcc"
---------------------
作者:tangchangcai.
来源:CSDN
原文:https://blog.csdn.net/tangcc110/article/details/80181401
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-05-30 04:23  寒江孤影,江湖路人  阅读(2401)  评论(0编辑  收藏  举报