uni-app for循环数据直接取值和子组件内获取props值显示不一致
uni-app for循环数据直接取值和子组件内获取props值显示不一致
| 类别 | 信息 |
|---|---|
| 产品分类 | uniapp/小程序/微信 |
| PC开发环境 | Windows |
| PC开发环境版本 | 11 |
| HBuilderX类型 | Alpha |
| HBuilderX版本 | 4.17 |
| 第三方开发者工具 | RC 1.06.240301 |
| 基础库版本 | 3.4.4 |
| 项目创建方式 | HBuilderX |
示例代码:
<template #tableBody="{ record }" >
<view> 循环体直接取值: {{ record.state }}</view>
<view>组件内部取值: <StatusPanel :state="record.state" /></view>
<view>-----------------------------</view>
</template>
<template>
<!-- 组件内部取值::::: -->
<view style="color: red; display: inline;">
【 {{ props.state }} 】
</view>
</template>
操作步骤:
点击:【点击按钮产生异常】即可复现。
预期结果:
显示 500 对应 500
实际结果:
显示 500 对应 200
bug描述:
首先我有一个主页面 index.vue , 然后有一个公共的列表样式组件 TableDataRender.vue ( 仅负责样式,数据全部通过父组件传入,并且通过slot进行渲染 )
在index页面的里,如果有渲染一些公共接口响应数据那么将会导致:for循环数据直接取值和子组件(公共状态判断组件)内获取props值显示不一致。
问题现象就是:插槽内直接取值是500 没有问题, 可以只要通过props传入到 StatusPanel.vue 子组件内就是显示了200。
感觉原因像是:index=0的数据没有刷新一样。 因为其他下标都是正常的。
但是呢,我有一行代码:vdata.apiResData = resData; 只要注释掉又是正常的。 也就是只要我的主页面index.vue不进行页面渲染,那么不会有问题。
我猜测是我版本问题, 但是HBuilder和小程序开发者都升级到了最新版本了还是出现该问题,所以才发稿询问。
H5测试问题不复现,仅小程序出现。 如果循环插槽的问题,那么应该第一次循环就应该有问题,现在的的问题是再传入到第二子组件出现的问题。个人感觉还是可以修复的哈。希望uniapp官方能够进行修复,感谢。
问题截屏详见附件。 问题GIF详见附件。 代码示例详见【代码示例】, 也上传了Demo源文件。
更多关于uni-app for循环数据直接取值和子组件内获取props值显示不一致的实战教程也可以访问 https://www.itying.com/category-93-b0.html
小程序好像不支持循环插槽 可能是这个影响的
微信社区有很多类似问题 你可以去微信官方社区看下
微信社区:https://developers.weixin.qq.com/community/search?query=%E5%BE%AA%E7%8E%AF%E6%8F%92%E6%A7%BD&block=1&blogcategory=0&sort=0&time=0&starttime=&endtime=&type[query]=%E5%BE%AA%E7%8E%AF%E6%8F%92%E6%A7%BD&type[page]=1&type[block]=1&type[random]=1734404548100&type[type]=1&page=2
相关问题:https://developers.weixin.qq.com/community/develop/doc/00022e7b9a89a01bd53d3a36b56000?highLine=%E5%BE%AA%E7%8E%AF%E6%8F%92%E6%A7%BD
更多关于uni-app for循环数据直接取值和子组件内获取props值显示不一致的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我这边有你的demo试了没问题,我hbuilderx版本是4.36
请用微信小程序环境
刚刚测试:H5, 支付宝小程序也没影响。
仅微信小程序出现。
有没有大神给指导下
这个问题没人能给解答吗?
三个月了
这个问题官方能解决吗??


