美文网首页
微信小程序input和textarea原生组件层级太高遮挡弹框的

微信小程序input和textarea原生组件层级太高遮挡弹框的

作者: beatzcs | 来源:发表于2019-07-17 12:33 被阅读0次

解决方法:
(不要在textarea和input外面套scroll-view、swiper、movable-view)
创建一个textarea和一个view,默认显示view,点击view后,textarea显示并获取焦点,view隐藏;输入完成后,textarea失去焦点并隐藏,view重新显示。

<view class='box'>
      <textarea wx:if="{{isShowRemark}}" class='remark' placeholder='请填写备注信息' value='{{remarkValue}}'
                bindinput='changeValue' focus='{{isGetFocus}}' bindblur='blurFocus'></textarea>
      <view wx:else class='remark sizing noType'  bindtap='getFocus'>{{remarkValue?remarkValue:"请填写备注信息"}}</view>
    </view>
  blurFocus() {
    this.setData({
      isShowRemark: false
    })
  },
  getFocus() {
    this.setData({
      isGetFocus: true,
      isShowRemark: false
    })
  },
  changeValue(e) {
    this.setData({
      remarkValue: e.detail.value
    })
  },

原生组件

小程序中的部分组件是由客户端创建的原生组件,原生组件脱离在 WebView 渲染流程外,这些组件有:camera、canvas、input(仅在focus时表现为原生组件)、live-player、live-pusher、map、textarea、video。

原生组件的限制

  • 原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上(后插入的原生组件可以覆盖之前的原生组件,可通过z-index调整原生组件之间的层级)。
  • 基础库 2.4.4 以下版本,原生组件不支持在 scroll-view、swiper、movable-view中使用(如果外部有这些做父布局,解决办法将失效)。
  • 无法对原生组件设置 CSS 动画,无法定义原生组件为 position: fixed,不能在父级节点使用 overflow: hidden 来裁剪原生组件的显示区域

相关文章

网友评论

      本文标题:微信小程序input和textarea原生组件层级太高遮挡弹框的

      本文链接:https://www.haomeiwen.com/subject/dcbflctx.html