表单和v-model

v-model

VUE提供了v­-model指令, 用于在表单类元素上双向绑定事件

input和textarea

可以用于input框,以及textarea等

注意: 所显示的值只依赖于所绑定的数据,不再关心初始化时的插入的value


输入框里的内容是--{{message}}
data:{
    message: ''
}

image.png

表单

单选框

1. 单个单选按钮,直接用v-­bind绑定一个布尔值,用v­-model是不可以的

单个单选按钮
data: {      
    isChecked: true    
}

2. 如果是组合使用,就需要v-­model来配合value使用,绑定选中的单选框的value值, 所绑定的初始值可以随意给

此处我给所有单选框添加了一样的name, 所以只能选择其中一个, 当v-model绑定的值与value值相同时, 默认选择该选项. 选中的项目改变时, checkValue的值也将改变

铁斧头    
金斧头    
银斧头    
樵夫选择了---{{checkValue}}

data: {      
    checkValue: '铁斧头'    
}

效果

image.png

复选框

1. 单个复选框

直接用定一个布尔值,可以用v­-model, 可以用v­-bind

单个复选框用v-bind绑定    
单个复选框用v-model绑定
data: {  isChecked: true,  isCheck:true,}

2.多个复选框

如果是组合使用,就需要v-­model来配合value使用,v­-model绑定一个数组, 如果绑定的是字符串,则会转化为true。false,与所有绑定的复选框的 checked属性相对应

铁斧头    
金斧头    
银斧头    
樵夫选择了---{{checks}}

data: {      
    checks: []    
}

绑定字符串(同时选中)

image.png

绑定数组

image.png

下拉框

1. 如果是单选,所绑定的value值初始化可以为数组,也可以为字符串,有value直接优先匹配一个value值,没有value就匹配一个text值


樵夫选择了---{{selected}}

data:{selected:''}
image.png

2. 如果是多选,就需要v-­model来配合value使用,v-­model绑定一个数组,与复选框类似


data:{ select: [] }

多选下拉框和单选下拉框区别不大, 需要在select元素上添加multiple, 多选的时候需要按ctrl键

image.png

3. v­-model一定是绑定在select标签上

总结:

如果是单选,初始化最好给定字符串,因为v-­model此时绑定的是静态字符串或者布尔值 如果是多选,初始化最好给定一个数组

绑定值

单选按钮

只需要用v-­bind给单个单选框绑定一个value值,此时,v-­model绑定的就是他的value 值

---{{checkValue}}
data: {      
    value: '123',
    checkValue: true
}

复选框

复选框控制选中和未选中的值, 绑定true-value, false-value属性

    
toggle的值是---{{toggle}}    
选中---{{toggle===value1}}    
未选中---{{toggle===value2}}
data:{
    toggle: true,value1: '被选中',      
    value2: '未被选中'
}
image.png

下拉框

在select标签上绑定value值对option并没有影响

修饰符

lazy

v­-model默认是在input输入时实时同步输入框的数据,而lazy修饰符,可以使其在失去焦点或者敲回车键之后在更新

number

将输入的字符串转化为number类型

trim

trim自动过滤输入过程中收尾输入的空格

你可能感兴趣的:(表单和v-model)