详细问题描述
(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]