小程序textarea文本域字數控制---並顯示已輸入字數


有時候我們在寫項目的時候,用到input或者textarea的時候,可能需要對輸入的字數進行一個限制和顯示,效果圖如下:

輸入文字后的效果圖是這樣的:

 

 

 

下面閑話少說 把這個小功能分享給大家,先是wxml:

<view class="conts">
  <textarea class="areas" placeholder='空空如也,快點評論吧' minlength="{{min}}" maxlength="{{max}}" bindinput="inputs"> 
    <text class="currentWordNumber">{{currentWordNumber}}/{{max}}</text>
    <text class="hint">{{texts}}{{num}}{{textss}}</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: 480rpx;
  top: -6rpx;
}
.hint{
  font-size: 28rpx;
  position: absolute;
  top: 130rpx;
  left: 320rpx;
  color: #FF6600;
}

最后是js:

Page({
data: {
texts: "至少需要15個字",
min: 15,//最少字數
max: 520, //最多字數 (根據自己需求改變) 
currentWordNumber:0
},

//字數限制 
inputs: function (e) {
// 獲取輸入框的內容
var value = e.detail.value;
// 獲取輸入框內容的長度
var len = parseInt(value.length);
console.log(len)
//最少字數限制
if (len <= this.data.min)
this.setData({
texts: "至少還需要",
textss: "字",
num:this.data.min-len
})
else if (len > this.data.min)
this.setData({
texts: " ",
textss: " ",
num:''
})

this.setData({
currentWordNumber: len //當前字數 
});
//最多字數限制
if (len > this.data.max) return;
// 當輸入框內容的長度大於最大長度限制(max)時,終止setData()的執行

console.log(this.data)
}
})

 轉載至https://blog.csdn.net/qq_42345906/article/details/85336060


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM