本文是小编结合官方文档整理的一篇细致代码更多更全的详细教程,非常适合新手学习,感兴趣的朋友一起看看吧!
资料来于官方文档:
http://cn.vuejs.org/guide/forms.html
表单绑定
①常见绑定方法:
【1】文本输入框绑定;
【2】textarea绑定(类似【1】);
【3】radio选中值绑定;
【4】checkbox绑定(自动捆绑数组,无需name);
【5】select绑定;
【6】select multiple多选选中框绑定;
【7】动态绑定(以上不同类型但同一个值可以互动);
【8】checkbox选中和未选中赋予不同的值(主要是针对不选中状态);
【9】checkbox,radio,select选中状态的值动态绑定(主要是指值动态绑定对象或者是vm实例的属性,例如data里的某个属性,或者是computed的某个值);
如代码:
<div id="app"> <input type="text" v-model="text"/> <div>{{text}}</div> <div>——————————————</div> <textarea style="width:200px;height:100px;" v-model="textarea"></textarea> <div>{{textarea}}</div> <div>——————————————</div> <label><input type="checkbox" v-model="checkbox"/>左边选中右边则为true:{{checkbox}}</label> <div>——————————————</div> <label><input type="checkbox" value="firstCheckbox" v-model="checkboxes">firstCheckbox</label><br/> <label><input type="checkbox" value="secondCheckbox" v-model="checkboxes">secondCheckbox</label><br/> <label><input type="checkbox" value="thirdCheckbox" v-model="checkboxes">thirdCheckbox</label><br/> <div>以上选中的value情况为:{{checkboxes}}</div> <div>以上选中的value情况为(以json格式显示,这里使用了json过滤器):{{checkboxes|json}}</div> <div>——————————————</div> <label><input type="radio" value="A" v-model="radio"/>value = A</label><br> <label><input type="radio" value="B" v-model="radio"/>value = B</label><br> <div>{{radio}}</div> <div>注意,这里的v-model的值应该被注册到data里面,否则会红字警告(事实上,所有的都应该也这么做)</div> <div>——————————————</div> <select v-model="select"> <option>默认值,option不设value</option> <option value="B">value的值设为B</option> <option selected value="C">默认选择这个,value设为C</option> </select> <div>{{select}}</div> <div>同样,这里不注册也会被报错</div> <div>——————————————</div> <div>以下是select的多选,按住ctrl可以连续选,按住shift选择区间</div> <select style="width:200px;height:100px;overflow: hidden;" v-model="multiple" multiple> <option value="A">A</option> <option value="B">B</option> <option value="C">C</option> <option value="D">D</option> <option value="E">E</option> </select> <div>多选选中的值是:{{multiple}}</div> <div>注意,这个多选select框是默认带y轴的滚动条的</div> <div>——————————————</div> <div>动态渲染,checkbox和多选select框是互相影响的</div> <label><input type="checkbox" value="A" v-model="Dynamic">A</label><br/> <label><input type="checkbox" value="B" v-model="Dynamic">B</label><br/> <label><input type="checkbox" value="C" v-model="Dynamic">C</label><br/> <select style="width:200px;height:100px;overflow: hidden;" v-model="Dynamic" multiple> <option value="A">A</option> <option value="B">B</option> <option value="C">C</option> </select> <div>选中情况是:{{Dynamic}}</div> <div>——————————————</div> <div>选中和选中的值自定义的checkbox</div> <label><input type="checkbox" v-bind:true-value="differentValues.t" v-bind:false-value="differentValues.f" v-model="different">true/false</label><br/> <div>different value: {{different}}</div> <div>注意,以上不能像普通checkbox那么样,用一个数组作为多个checkbox的v-model的变量,且其值是绑定与vm实例的某个属性; 因此,不能在v-bind里的值是一个字符串,但可以是一个对象,例如{a:1}这样(当然,这个时候显示的值也是一个对象了) </div> <div>——————————————</div> <div>自定义之的radio</div> <label><input type="radio" v-bind:value="text" v-model="customize"/>值为1</label> <label><input type="radio" v-bind:value="textarea" v-model="customize"/>值为1</label> <div>{{customize}}</div> <div>同样,值可以是vm的一个属性或者是一个对象,另外,同样有效的还有select。(主要就这三个有选中状态,除此之外虽然例如Date类型也有选中,但是意义不大)</div> <div>——————————————</div> </div> <script> var vm = new Vue({ el: '#app', data: { text: "默认有输入内容", textarea: "这里是多行文字\n第二行,\\n是换行符,但在字符串里显示为空格", checkboxes: [], radio: "", select: "", multiple: "", Dynamic: {}, different: "", differentValues: { t: "true", f: "false" }, customize: '' } }) </script>
②添加参数:
【1】lazy
在取消focus状态后才更新值,而不是按键按下时就更新值。
对文本输入框和textarea都有效
如代码:
<input type="text" v-model="text" lazy/> <div>{{text}}</div>
【2】number
将输入的值自动转为number类型,如果转后为NaN类型,则返回原值;
如代码:
<input type="text" v-model="text" number/> <div>{{text}}</div> <div>{{typeof text}}</div>
如果加上number这个参数,那么输入数字时,则提示类型为string,加上之后,纯数字会提示number类型;
【3】debounce=”毫秒数”
当值连续若干毫秒没有变化时,触发变量的值的改变;
如代码:
<input type="text" v-model="text" debounce="1000"/> <div>{{text}}</div>
当我以500ms的时间差依次输入1,2,3,4,5,6这六个数字时,text的值不会被更新;
当我停止输入有1000ms时,text值才会被更新;
因此,适合类似ajax等高消耗操作。
以上所述是小编给大家介绍的Vuejs第六篇之Vuejs与form元素实例解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]