白羽
白羽
  • 发布:2020-03-27 13:34
  • 更新:2023-06-16 15:03
  • 阅读:1318

【报Bug】V3和H5的mounted执行2次,且 uni.createSelectorQuery().in(this).selectAll('.qiu-th,.qiu-td')重复获取节点信息

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

[步骤]

  • 在自定义组件中定义了一个二维v-for节点,在index页面的data中传入二维数组渲染该节点,生成如下代码
<uni-view data-v-3c035de0="" data-v-1626c770="" class="qiu-table">  
    <uni-view data-v-3c035de0="" class="qiu-tr">  
        <uni-text data-v-3c035de0="" class="qiu-text qiu-th"><span>3333</span></uni-text>  
        <uni-text data-v-3c035de0="" class="qiu-text qiu-th"><span>222</span></uni-text>  
        <uni-text data-v-3c035de0="" class="qiu-text qiu-th"><span>11</span></uni-text>  
        <uni-text data-v-3c035de0="" class="qiu-text qiu-th"><span>0</span></uni-text>  
    </uni-view>  
    <uni-view data-v-3c035de0="" class="qiu-tr">  
        <uni-text data-v-3c035de0="" class="qiu-text qiu-td"><span>0</span></uni-text>  
        <uni-text data-v-3c035de0="" class="qiu-text qiu-td"><span>11</span></uni-text>  
        <uni-text data-v-3c035de0="" class="qiu-text qiu-td"><span>222</span></uni-text>  
        <uni-text data-v-3c035de0="" class="qiu-text qiu-td"><span>3333</span></uni-text>  
    </uni-view>  
</uni-view>
  • 在自定义组件中的mounted中执行如下代码,意图获取各个.qiu-th和.qiu-td的宽和高
    uni.createSelectorQuery().in(this).selectAll('.qiu-th,.qiu-td').fields({  
        size: true  
    }, function(data) {  
        console.log(JSON.stringify(data));  
    }).exec();

[结果]
上述预期应该得到一个包含了8个元素(4个.qiu-th元素,4个.qiu-td元素)的一维数组,从该数组中可以得到8个元素中的每一个的宽和高。但实测结果却完全不是这样的:

  • 在非v3版本的APP端,得到的是9个一维数组,除第一个是上述预期数组外,另外8个是空数组(免强也算符合预期);
  • 在H5端和v3版本的APP端,得到的是9个一维数组,最后两个是预期数组(为什么是2个,为什么重复出现?),其余8个数组则每一个包含qiu-th或一个.qiu-td的节点信息(这8个数组为什么不是空数组?)。
    [期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]

[IDE版本号]

[windows版本号]

[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式说明:自定义组件模式?纯nvue模式?v3模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2020-03-27 13:34 负责人:无 分享
已邀请:
b***@qq.com

b***@qq.com

烂 uniapp ,我也遇到同样bug

要回复问题请先登录注册