vue表单控件绑定

 文本

  {{message}}
  <input v-model="message" placeholder="编辑">

 

多行文本

  {{messagetextarea}}
  <textarea v-model="messagetextarea" placeholder="添加"></textarea>

 

 复选框

    <!--单个复选框,绑定到布尔值:-->
    <input type="checkbox" id="checkbox" v-model="chekboxMsg">
    <label for="checkbox">{{ chekboxMsg }}</label>
    <!--多个复选框,绑定到同一个数组:-->
    <input type="checkbox" id="Li" value="litecheng" v-model="checkedNames">
    <label for="Li">李特成</label>
    <input type="checkbox" id="z" value="zhangsan" v-model="checkedNames">
    <label for="z">张三</label>
    <input type="checkbox" id="w" value="wangwu" v-model="checkedNames">
    <label for="w">王五</label>
    <br>
    <span>选择的数组: {{ checkedNames }}</span>

 

 单选按钮

<!--单选按钮-->
<input type="radio" id="one" value="一" v-model="picked">
<label for="one">第一</label>
<br>
<input type="radio" id="two" value="二" v-model="picked">
<label for="two">第二</label>
<br>
<span>单选: {{ picked }}</span>

 

 选择框

     <select v-model="selected">
       <option disabled value="">请选择</option>
       <option value="0">A</option>
       <option value="1">B</option>
       <option value="2">C</option>
     </select>
     <span>选择结果: {{ selected }}</span>
     <br/><br/>
    <!--多选时 (绑定到一个数组):选择框-->
     <select v-model="selecteds" multiple style="width: 50px;">
        <option value="0">A</option>
        <option value="1">B</option>
        <option value="2">C</option>
      </select>
      <br>
      <span>选择结果: {{ selecteds }}</span>

     <!---用 v-for 渲染的动态选项:-->
      <select v-model="selectedActive">
        <option v-for="option in options" v-bind:value="option.value">
          {{ option.text }}
        </option>
      </select>
      <span>选择结果: {{ selectedActive }}</span>

 

值绑定 

{{btnMsg}}
<!-- 当选中时 vm.toggle === 'yes' // 当没有选中时 vm.toggle === 'no'-->
<input type="checkbox" v-model="toggle" v-bind:true-value="yes" v-bind:false-value="no">
<button @click="checkToggle">请选择</button>
      
<!--单选按钮-->
{{pick}}
<input type="radio" v-model="pick" v-bind:value="a">
    

 

 修饰符

<!--如果想自动将用户的输入值转为数值类型,可以给 v-model 添加 number 修饰符:-->
<input v-model.number="age" type="number" placeholder="只能输入数值">

<!--在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步(除了上述输入法组合文字时)。你可以添加 lazy 修饰符,从而转变为使用 change事件进行同步:-->

<!-- 在“change”时而非“input”时更新 lazy -->
<input v-model.lazy="message" placeholder="输入离开事件产生">

<!--如果要自动过滤用户输入的首尾空白字符,可以给 v-model 添加 trim 修饰符:-->
<input v-model.trim="message" placeholder="去掉两边空格">

 

 JS数据

var vm=new Vue({
  el:'.app',
  data:{
      message:'',//文本
      messagetextarea:'',//多行文本
      chekboxMsg:true,//默认复选框单个选中
      checkedNames:[],//多个复选框选择
      picked:'',//单选
      selected: '',//select选择框
      selecteds:[],//多选select
      selectedActive:'2',//渲染的动态选项
      options:[//for循环的数据
        { text: '第一', value: '1' },
        { text: '第二', value: '2' },
        { text: '第三', value: '3' }
      ],
      toggle:'yes',//
      yes:"yes",
      no:"no",
      btnMsg:'',
      pick:'',
      a:true,
   },
    methods:{
      checkToggle:function(){
        this.toggle=this.toggle==="yes" ? "no" : "yes";
        this.btnMsg=this.toggle==="yes" ? '已选中':'已取消';
      }
    }
});

猜你喜欢

转载自blog.csdn.net/a4561614/article/details/81097489