⼩程序开发中textarea⽂本域监听字数限制与动态计算
⼩程序开发时常会有评论或者备注功能,都会⽤到⽂本域字符长度计算以及字符限制的功能,笔者把最简洁易⽤的案例分享出来。学习之前先看官⽅API⽂档
⼀、实现思路:
textarea中cols表示
1、在textarea中绑定bindinput事件。
2、通过var value = e.detail.value;获取textarea的值。
3、通过 var len = parseInt(value.length);获取textarea中字符的长度,再做字符长度限制判断
⼆、界⾯效果如下:
三、代码实现
wxml页⾯布局代码:
<view class="conts">
<textarea class="areas" placeholder='留下点评,帮助更多⼈' minlength="{{min}}" maxlength="{{max}}" bindinput="inputs"> <text class="currentWordNumber">{{currentWordNumber|0}}/{{max}}</text>
<text class="hint">{{texts}}</text>
</textarea>
</view>
wxss页⾯样式代码:
.conts{
width: 750rpx;
height: auto;
border: 1rpx soldi red;
margin-top: 30rpx;
}
.areas{
height:152rpx;
font-size: 30rpx;
text-indent: 28rpx;
border: 1rpx solid gainsboro;
padding-top: 30rpx;
margin: 0 auto;
overflow: hidden;
position: relative;
}
.currentWordNumber{
font-size: 28rpx;
color: gray;
position: absolute;
left: 593rpx;
top: -6rpx;
}
.hint{
font-size: 28rpx;
position: absolute;
top: 120rpx;
left: 30rpx;
color: #FF6600;
}
js代码:
Page({
data: {
texts:"⾄少5个字",
min:5,//最少字数
max: 520, //最多字数 (根据⾃⼰需求改变)
},
//字数限制
inputs: function (e) {
// 获取输⼊框的内容
var value = e.detail.value;
// 获取输⼊框内容的长度
var len = parseInt(value.length);
//最少字数限制
if(len <= this.data.min)
this.setData({
texts: "加油,够5个字可以得20积分哦"
})
else if(len > this.data.min)
this.setData({
texts: " "
})
//最多字数限制
if(len > this.data.max) return;
// 当输⼊框内容的长度⼤于最⼤长度限制(max)时,终⽌setData()的执⾏
this.setData({
currentWordNumber: len //当前字数
});
}
})
点赞分享是对作者最⼤的⽀持。欢迎⼴⼤开发者朋友持续关注博主,笔者(同电话):186********
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论