本文主要是介绍uview2.0 u-textarea设置maxlength在手机上粘贴字数超过限制时统计字数会超过限制字数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:使用uniapp开发小程序时候,用了uview2.0组件库,有个需求就是文本输入框要限制100个文字,看了下uview2.0文档,发现u-textarea组件内置了这个功能,只需要在组件上添加count 和 maxlength属性即可,看起来好像很简单,我添加完后,在微信开发者工具上自测确实没有问题,但在手机上测试就发现了bug,当粘贴字数超过限制时统计字数会超过限制字数,虽然文本确实被限制在了100以内,但那个统计当前字数的数字会超过限制,即会出现 102/100的现象,如下图所示:
这个问题一出现我立马就觉得是uview的bug,看了下github,确实有网友给uview提了这个bug,但看这样子官方好像还是没有解决,看来只能靠自己解决了呀。考虑到自己再去写个textarea组件的话觉得麻烦,我又是一个比较懒的人。。。
于是我就去翻了下这个组件的源码,发现它当前字数的统计是直接使用了输入的文字的length属性:
那么问题就是出现在这里啦,不能说文本一输入就使用它的length,得先做判断啊。翻阅官方文档,发现有个formatter方法,这个方法是用于处理或者过滤输入框内容的方法,那么我们就可以在这个方法上做文章了,只要文本超过了100,那么就截取100个字符就好了,
这篇关于uview2.0 u-textarea设置maxlength在手机上粘贴字数超过限制时统计字数会超过限制字数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!