微信小程序--textarea文本框的使用,并实现字数统计

ゝ一世哀愁。 2024-04-17 05:52 103阅读 0赞

参考网友的,可惜他的地址找不到了。把代码粘贴出来,希望能帮到有需求的朋友。

上代码:

wxml:

  1. <view class="conts">
  2. <textarea class="areas" placeholder='订单备注' maxlength="{
  3. {orderNoteMax}}" bindinput="inputs">
  4. <text class="currentWordNumber">{
  5. {currentWordNumber|0}}/{
  6. {orderNoteMax}}</text>
  7. <text class="hint">{
  8. {texts}}</text>
  9. </textarea>
  10. </view>

js:

  1. data: {
  2. orderNote: '',//订单备注
  3. orderNoteMax: 2000//订单备注最大长度
  4. },
  5. //订单备注textarea
  6. inputs: function (e) {
  7. // 获取输入框的内容
  8. var value = e.detail.value;
  9. this.setData({//更新备注内容到vue缓存
  10. orderNote: e.detail.value
  11. })
  12. // 获取输入框内容的长度
  13. var len = parseInt(value.length);
  14. //最少字数限制
  15. /*if(len <= this.data.min)
  16. this.setData({
  17. texts: "加油,够5个字可以得20积分哦"
  18. })
  19. else if(len > this.data.min)
  20. this.setData({
  21. texts: " "
  22. })*/
  23. //最多字数限制
  24. if(len > this.data.orderNoteMax) return;
  25. // 当输入框内容的长度大于最大长度限制(max)时,终止setData()的执行
  26. this.setData({
  27. currentWordNumber: len //当前字数
  28. });
  29. }

wxss:

  1. .conts{
  2. width: 750rpx;
  3. height: auto;
  4. border: 1rpx soldi red;
  5. margin-top: 30rpx;
  6. background: #fff;
  7. }
  8. .areas{
  9. height:152rpx;
  10. font-size: 30rpx;
  11. text-indent: 28rpx;
  12. border: 1rpx solid gainsboro;
  13. padding-top: 30rpx;
  14. margin: 0 auto;
  15. overflow: hidden;
  16. position: relative;
  17. }
  18. .currentWordNumber{
  19. font-size: 28rpx;
  20. color: gray;
  21. position: absolute;
  22. left: 593rpx;
  23. top: -1rpx;
  24. }
  25. .hint{
  26. font-size: 28rpx;
  27. position: absolute;
  28. top: 120rpx;
  29. left: 30rpx;
  30. color: #FF6600;
  31. }

效果:

20190824153951147.png

发表评论

表情:
评论列表 (有 0 条评论,103人围观)

还没有评论,来说两句吧...

相关阅读