收藏
回答

web-view组件页内使用cover-view作浮窗按钮时,setData修改数据,页面不更新

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug web-view 、cover-view 微信安卓客户端 8.0.34 2.25.3

安卓手机的web-view组件页内使用cover-view作浮窗按钮时,setData修改数据,页面不更新。ios正常·

<web-view src="">
  <cover-view class="show wbindtap="userClosebindtouchmove="buttonMovebindtouchstart="buttonStartstyle="top:{{buttonTop}}rpx;left:{{buttonLeft}}rpx;">
    <cover-image src="https://sales-dev.ihxlife.com/HuaPM_V/bcard/image/room/tool_show.png" class="user_show"></cover-image>
    <cover-view class="text">显示</cover-view>
  </cover-view>
</web-view>
js里setData修改buttonTop和buttonLeft,页面无变化,ios正常变化
    buttonStart: function (e) {
        console.log(777, e)
        this.setData({
            startPoint: e.touches[0]
        })
        //获取拖动开始点
    },
    buttonMove: function (e) {
        console.log(666, e)
        let rpx = this.data.rpx
        var endPoint = e.touches[e.touches.length - 1//获取拖动结束点
        //计算在X轴上拖动的距离和在Y轴上拖动的距离
        var translateX = endPoint.pageX - this.data.startPoint.pageX
        var translateY = endPoint.pageY - this.data.startPoint.pageY
        this.setData({
            startPoint: endPoint
        }) //重置开始位置
        var buttonTop = this.data.buttonTop + translateY / rpx
        var buttonLeft = this.data.buttonLeft + translateX / rpx
        //判断是移动否超出屏幕
        if (buttonLeft + 90 >= this.data.windowWidth) {
            buttonLeft = this.data.windowWidth - 90;
        }
        if (buttonLeft <= 0) {
            buttonLeft = 0;
        }
        if (buttonTop <= 0) {
            buttonTop = 0
        }
        if (buttonTop + 138 >= this.data.windowHeight) {
            buttonTop = this.data.windowHeight - 138;
        }
        this.setData({
            // show: !this.data.show,
            buttonTop: buttonTop,
            buttonLeft: buttonLeft,
        }, () => {
            this.setData({
                // show: !this.data.show,
            })
        })
        console.log(233444555,this.data.buttonTop,this.data.buttonLeft)


    },


这是代码片段链接:https://developers.weixin.qq.com/s/TUsv4omI7WH3

回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2023-04-11

    2023-04-11
    有用
    回复 4
    • 🌅
      🌅
      2023-04-11
      您的意思是说提升cover-view的层级使其位于 web-view之上本来就是歪门邪道,是不受维护和支持的是吗
      2023-04-11
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      2023-04-11回复🌅
      是的
      2023-04-11
      回复
    • 🌅
      🌅
      2023-04-12回复社区技术运营专员-Jahozheng
      谢谢,但是我看很多人都有在小程序web-view嵌套h5的页面上加一些其他操作的需求。虽说这种写法不对,但我看ios端用cover-view位于web-view之上做很多事情也没问题。这个你们官方后续会全方面支持在web-view之上做组件吗
      2023-04-12
      回复
    • 幸运_flash
      幸运_flash
      2023-06-14回复社区技术运营专员-Jahozheng
      有这种需求的人不在少数,为什么官方不继续优化cover-view位于web-view之上的操作支持呢?
      那么多年了,提出同类的问题的人那么多,官方就不考虑下这种需求吗?
      2023-06-14
      回复
登录 后发表内容