可能很多小伙伴们。看见这个标题后;觉得作者是一个标题党。textarea设置maxlength后,限制用户输入的字符呗!还能怎么样呢?恭喜你,说对了一半。之前我也一直是这样想的。知道今天我写小完程序后自己测试。发现textarea设置maxlength后,并不是我们想的那样简单:它是一个'有故事的组件'我们来看一下这面这一段代码功能:限制textarea的值最多输入6字符,点击按钮获取用户的输入的值。<template> <view > <view >留言内容</view> <textarea placeholder- placeholder="请输入口号内容(最多输入6个字)" v-model="formPraise.praiseCont" maxlength="6" /> <view > <button type="primary" @tap="gotos">获取值</button> </view> </view></template><script>export default { data() { return { formPraise:{ praiseCont:'' } } }, methods: { gotos(){ console.log('超出后==>',this.formPraise.praiseCont) }, }}</script>
根据上面这一张动态图,我们发现了在textarea显示的值,与我们获取的值不一样。不一样,真不一样。重要的事情说三遍。我最初以为是开发工具缓存值或者出问题了。重启了一次,发现textarea设置maxlength="6"我们输入的值与获取的值真的不一样!textarea设置maxlength后哪是一个'有故事的属性'分明就是一个'有事故的属性'。为什么会出现这样的情况?因为:textarea设置maxlength="6"后,当我们输入的值超过6时,我们删除又进行输入。这样多重复几次。就导致了我们视图上的值与我们获取的值不一致了。这个时候,有机智的小伙伴可能会说:我们使用ref通过节点获取内容。这样视图和输出来的内容不就一致了。不就可以解决了嘛?感觉说的有道理,我们尝试一下:2.通过ref获取值
我们知道,在uni-app开发小程序;uniapp的ref属性不能用在uniapp的内置组件上面,只能用在自定义组件上面所以我们创建一个组件com-com.vue子组件<template> <view > <view >表彰说明</view> <textarea placeholder="请输入口号内容(最多输入6个字)" maxlength="6" ref="vref" placeholder- v-model="formPraise.praiseCont" /> </view></template>页面使用<template> <view > <com-com ref="comref"></com-com> <view > <button type="primary" @tap="gotos"> 获取值 </button> </view> </view></template><script>import comcom from "./com-com.vue"export default { components:{ 'com-com':comcom }, methods: { gotos(){ console.log('获取值==>',this.$refs.comref.praiseCont) }, }}</script>
当看完上面这张动态图的时候;我们发现通过ref获取去的值仍然是失败的。为啥视图上显示的值与我们获取的值不一致呢?我们在视图上添加一个view组件。用它显示我们输入的值的内容它的值与textarea绑定的值是一样的。我们康康下面这一个案例也许你就明白了3.设置maxlength到底发生了什么事?
<template> <view > <view >留言内容</view> <textarea placeholder- placeholder="请输入口号内容(最多输入6个字)" v-model="formPraise.praiseCont" maxlength="6" /> <view > {{ formPraise.praiseCont}} </view> <view > <button type="primary" @tap="gotos">获取值</button> </view> </view></template><script>export default { data() { return { formPraise:{ praiseCont:'' } } }, methods: { gotos(){ console.log('超出后==>',this.formPraise.praiseCont) }, }}</script>
4.抱歉我也不知道maxlength到底发生了什么事
说真的,我不号用语言去描述设置maxlength;它到底发生了什么事情。但是我知道当textarea设置maxlength后,当值只要出现超出并且后一个覆盖了前面的值。就会出现视图上显示的值与获取值不一致。这是我得到的结论.如果各位小伙伴又不一样的看法欢迎说出来,你的观点对我很重要。5.textarea不设置maxlength会这样嘛?
<template> <view > <view >留言内容</view> <textarea placeholder- placeholder="请输入内容" v-model="formPraise.praiseCont" /> <view > <button type="primary" @tap="gotos"> 获取值 </button> </view> </view></template><script>export default { data() { return { formPraise:{ praiseCont:'' } } }, methods: { gotos(){ console.log('超出后==>',this.formPraise.praiseCont) }, }}</script>
6.textarea的maxlength默认值是140
我们发现没有设置textarea不设置maxlength时。值仍然会丢失。其实你虽然没有设置maxlength这个属性。但是maxlen......原文转载:http://www.shaoqun.com/a/871461.html
跨境电商:https://www.ikjzd.com/
执御:https://www.ikjzd.com/w/717.html
易联通:https://www.ikjzd.com/w/1854.html
c88:https://www.ikjzd.com/w/1017
可能很多小伙伴们。看见这个标题后;觉得作者是一个标题党。textarea设置maxlength后,限制用户输入的字符呗!还能怎么样呢?恭喜你,说对了一半。之前我也一直是这样想的。知道今天我写小完程序后自己测试。发现textarea设置maxlength后,并不是我们想的那样简单:它是一个'有故事的组件'我们来看一下这面这一段代码功能:限制textarea的值最多输入6字符,点击按钮
刘军:https://www.ikjzd.com/w/1835
krazy:https://www.ikjzd.com/w/1801
asinseed:https://www.ikjzd.com/w/533
美国夏威夷浪漫之旅出行前的准备 :http://www.30bags.com/a/413633.html
美国夏威夷旅游攻略_线路推荐 :http://www.30bags.com/a/408713.html
美国夏威夷旅游签证的办理流程及准备的材料 :http://www.30bags.com/a/413655.html
美国夏威夷旅游注意事项 :http://www.30bags.com/a/413639.html
领导从背后捏住我的奶 握住她的双乳肆意揉弄:http://lady.shaoqun.com/m/a/247904.html
老公出国了,我因为寂寞成了一个单身邻居的小三:http://lady.shaoqun.com/a/418084.html
万山彩虹海水上乐园要多少费用?2021年7月门票价格:http://www.30bags.com/a/496644.html
亚马逊欧洲站发布消费品的新单价要求,不遵循将从搜索结果中删除!:https://www.ikjzd.com/articles/146573
感情听写,老公出轨女邻居给我带来的伤害:http://lady.shaoqun.com/a/418085.html
没有评论:
发表评论