微信小程式開發中textarea文字域監聽字數限制與動態計算
阿新 • • 發佈:2018-11-20
微信小程式開發時常會有評論或者備註功能,都會用到文字域字元長度計算以及字元限制的功能,筆者把最簡潔易用的案例分享出來。學習之前先看微信官方API文件 https://mp.weixin.qq.com/debug/wxadoc/dev/component/textarea.html
一、實現思路:
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 //當前字數
});
}
})
點贊分享是對作者最大的支援。歡迎廣大開發者朋友持續關注博主,筆者微信(同電話):18629374628