Vue-表单输入绑定

该文展示了v-model在Vue.js中如何用于实现输入框(input)、多行文本(textarea)、复选框(checkbox)、多选以及单选按钮(radio)和选择框(select)的双向数据绑定,包括初始化和用户交互时的数据同步。
摘要由CSDN通过智能技术生成

v-model 指令在表单 <input><textarea><select> 元素上创建双向数据绑定
文本

  <div id="app">
    <input v-model="message" placeholder="edit me">
    <p>Message is: {{ message }}</p>
  </div>
  var app = new Vue({
    el: '#app',
    data: {
      message: 'csa'
    }
  })

多行文本

<span>Multiline message is:</span>
<p style="white-space: pre-line;">{{ message }}</p>
<br>
<textarea v-model="message" placeholder="add multiple lines"></textarea>

复选框-checkbox
单选

  <div id="app-1">
    <input type="checkbox" id="checkbox" v-model="checked">
    <label for="checkbox">{{ checked }}</label>
  </div>
  var app1 = new Vue({
    el: '#app-1',
    data: {
      checked: false
    }
  })

多选

  <div id="app-2">
    <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>
    <br>
    <span>Checked names: {{ checkedNames }}</span>
  </div>
  var app2 = new Vue({
    el: '#app-2',
    data: {
      checkedNames: []
    }
  })

单选按钮

  <div id="app">
    <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>
    <br>
    <span>Picked: {{ picked }}</span>
  </div>
  var app = new Vue({
    el: '#app',
    data: {
      picked: ''
    }
  })

选择框
如果 v-model 表达式的初始值未能匹配任何选项,<select> 元素将被渲染为“未选中”状态。在 iOS 中,这会使用户无法选择第一个选项。因为这样的情况下,iOS 不会触发 change 事件。因此,更推荐像上面这样提供一个值为空的禁用选项(option disabled value="">请选择</option>)。

  <div id="app">
    <select v-model="selected">
      <option disabled value="">请选择</option>
      <option>A</option>
      <option>B</option>
      <option>C</option>
    </select>
    <span>Selected: {{ selected }}</span>
  </div>

  var app = new Vue({
    el: '#app',
    data: {
      selected: ''
    }
  })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值