【微信小程序】textarea的一些坑

    技术2022-07-10  172

    坑1:组件覆盖优先级

    在微信小程序中,textarea是原生组件,所以不管z-index设置多大,其他组件都无法覆盖在textarea上面。 解决方法:

    当需要组件在textarea时候,我们可以在textarea失焦的时候将textarea隐藏起来,然后画一个和他外观一样的view,然后点击view时候,view隐藏起来,显示textarea

    坑2:textarea内容键盘遮挡

    场景: 在键盘弹起前,textarea长度比较长,当输入内容时,键盘弹起会遮挡部分内容 解决方法

    在键盘弹起后,计算键盘高度,然后自适应的缩小textarea的高度, //聚焦内容 focus_mes: function (e) { var that = this; var h2 = 980 - e.detail.height * 2; this.setData({ input_height: "height:" + h2 + "rpx;", //textarea的高度 }) }, 还可以调整textarea的cursor-spacing属性,控制光标和键盘的间隔距离

    坑3:使用textarea后,弹起键盘导致整个页面推上

    在textarea中有adjust-position属性,默认为true,效果是键盘弹起时,自动上推页面。 解决方法:

    在textarea中加入adjust-position="{{false}}"
    Processed: 0.028, SQL: 9