Vue 3.0学习笔记之 表单输入绑定

#基础用法

你可以用 v-model 指令在表单 

在文本区域插值不起作用,应该使用 v-model 来代替。

#复选框 (Checkbox)

单个复选框,绑定到布尔值:

多个复选框,绑定到同一个数组:

 
  

  1. Checked names: {{ checkedNames }}

 
  
  1. Vue.createApp({
  2. data() {
  3. return {
  4. checkedNames: []
  5. }
  6. }
  7. }).mount('#v-model-multiple-checkboxes')

点击此处实现

#单选框 (Radio)

 
  


  1. Picked: {{ picked }}

 
  
  1. Vue.createApp({
  2. data() {
  3. return {
  4. picked: ''
  5. }
  6. }
  7. }).mount('#v-model-radiobutton')

点击此处实现

#选择框 (Select)

单选时:

 
  
  1. Selected: {{ selected }}

 
  
  1. Vue.createApp({
  2. data() {
  3. return {
  4. selected: ''
  5. }
  6. }
  7. }).mount('#v-model-select')

点击此处实现

Note

如果 v-model 表达式的初始值未能匹配任何选项,


  • Selected: {{ selected }}
  • 点击此处实现

    用 v-for 渲染的动态选项:

     
      
    1. Selected: {{ selected }}

     
      
    1. Vue.createApp({
    2. data() {
    3. return {
    4. selected: 'A',
    5. options: [
    6. { text: 'One', value: 'A' },
    7. { text: 'Two', value: 'B' },
    8. { text: 'Three', value: 'C' }
    9. ]
    10. }
    11. }
    12. }).mount('#v-model-select-dynamic')

    点击此处实现

    #值绑定

    对于单选按钮,复选框及选择框的选项,v-model 绑定的值通常是静态字符串 (对于复选框也可以是布尔值):

     
      

    但是有时我们可能想把值绑定到当前活动实例的一个动态 property 上,这时可以用 v-bind 实现,此外,使用 v-bind 可以将输入值绑定到非字符串。

    #复选框 (Checkbox)

     
      

     
      
    1. // when checked:
    2. vm.toggle === 'yes'
    3. // when unchecked:
    4. vm.toggle === 'no'

    Tip

    这里的 true-value 和 false-value attribute 并不会影响输入控件的 value attribute,因为浏览器在提交表单时并不会包含未被选中的复选框。如果要确保表单中这两个值中的一个能够被提交,(即“yes”或“no”),请换用单选按钮。

    #单选框 (Radio)

    1. // 当选中时
    2. vm.pick === vm.a

    #Select Options

    1. // 当被选中时
    2. typeof vm.selected // => 'object'
    3. vm.selected.number // => 123

    #修饰符

    #.lazy

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

    #.number

    如果想自动将用户的输入值转为数值类型,可以给 v-model 添加 number 修饰符:

    这通常很有用,因为即使在 type="number" 时,HTML 输入元素的值也总会返回字符串。如果这个值无法被 parseFloat() 解析,则会返回原始的值。

    #.trim

    如果要自动过滤用户输入的首尾空白字符,可以给 v-model 添加 trim 修饰符:

    #在组件上使用 v-model

    如果你还不熟悉 Vue 的组件,可以暂且跳过这里。

    HTML 原生的输入元素类型并不总能满足需求。幸好,Vue 的组件系统允许你创建具有完全自定义行为且可复用的输入组件。这些输入组件甚至可以和 v-model 一起使用!

    你可能感兴趣的:(vue,vue.js,学习,javascript)