3 回复
用户点击的时候再用input或者textarea,输入完换成view
< view > < textarea class = 'textarea' value = "{{inputValue}}" bindinput = "input" bindblur = "blur" auto-focus = "{{true}}" wx:if = '{{typing}}' ></ textarea > < view class = 'textarea' catchtap = 'toInput' wx:else>{{inputValue}}</ view > </ view > |
Page({ data:{ inputValue: '' , typing: false }, toInput(){ this .setData({typing: true }) }, input(e){ this .setData({inputValue:e.detail.value}) }, blur(){ this .setData({typing: false }) } }) |
如楼主遇到的情况一样,实践中自定义Navbar组件采用 CoverView,可以成功遮挡 Rich-Text、Input,解决层级问题。
但,
在使用CoverView时也遇到了问题,具体如下:
自定义组件中使用 IntersectionObserver 实现页面滚动时显示/隐藏 CoverView。在iOS(如iPhoneXsMax、iPhone 11)上,IntersectionObserver触发回调后setData,CoverView并没有立刻隐藏或显示。此时如果隐藏页面(比如按home按钮返回桌面),再切回小程序,CoverView的状态才能更新。如果使用View,则不会出现此类状况。怀疑是线程通信造成的。
有谁知道是什么原因,望不吝赐教