美文网首页
uni-swipe-action组件本身的重要bug

uni-swipe-action组件本身的重要bug

作者: 全栈的猫南北 | 来源:发表于2023-05-31 16:10 被阅读0次

    项目需求如下图:

    WechatIMG44.jpeg

    项目bug:在nvue上搭建一个支持swipe侧滑编辑、删除的长列表,但是这个列表数据的新增、更新是在其他页面。动态加载数据,该组件就滑动失效了,而且官方文档提供的resize()方法也无效。如下图

    文档.png WechatIMG43.jpeg

    解决思路:

    在参考点数据源新增和更新的时候,下发一个通知,在列表的页面onload里注册接收的通知,接收到数据源发生改变之后,在onshow方法里刷新列表数据。

    onLoad() {
                uni.$on('pointDidSave', (res) => {
                    console.error("修改标定的摄像机");
                    
                     this.isrefreshPointList = true;
                    // if (_that.deviceCode) {
                    //  _that.ReferenceList = [];
                    //  _that.getdeviceBiaoding(_that.deviceCode);
                    // }
                });
            },
            onShow() {
                console.log('【页面onShow】');
                if (this.isrefreshPointList) {
                    this.ReferenceList = [];
                    this.getdeviceBiaoding(this.deviceCode);
                }
            },
    

    原因:

    dom 模块中的 getComponentRect 接口是用来计算组件的宽高和位置的,必须得从视图已经渲染后获取值,而uni-swipe-action组件侧滑的底层代码中是根据已经渲染出来的宽度去滑动的。

    组件底层代码

    2.png
    1.png

    相关文章

      网友评论

          本文标题:uni-swipe-action组件本身的重要bug

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