textarea 设置 maxlength 后通过输入法一次性输入超过限制的字数后 bindinput 失效
正常输入
bug复现方式
后面情况(这时候不管怎么输入就不会再触发bindinput)
css
.container {
width: 100vw;
height: 100vh;
padding: 32rpx;
box-sizing: border-box;
}
.textarea-box {
position: relative;
}
textarea {
width: 100%;
height: 300rpx;
background-color: #f2f3f5;
padding: 32rpx;
border-radius: 8rpx;
box-sizing: border-box;
font-weight: 400;
font-size: 24rpx;
color: rgba(0, 0, 0, 0.9);
line-height: 40rpx;
}
.limit {
position: absolute;
bottom: 8rpx;
right: 8rpx;
font-size: 24rpx;
color: rgba(0, 0, 0, 0.6);
line-height: 40rpx;
}
js
Page({
data: {
textareaValue: '',
maxlength: 20,
},
handleInput(e) {
console.log(e.detail.value);
this.setData({
textareaValue: e.detail.value
})
}
})
wxml
<view class="container">
<view class="textarea-box">
<textarea class="greet_textarea" maxlength="{{maxlength}}" placeholder="请输入..." placeholder-style="color: rgba(0, 0, 0, 0.4);" bindinput="handleInput" value="{{textareaValue}}" />
<view class="limit">{{textareaValue.length}}/{{maxlength}}</view>
</view>
</view>
