Repository navigation
vui-uniapp v1.4.2
修复
vui-upload 预览打开的不是用户点的那一张
onPreview(index) 原先把「全量列表」和「过滤掉空 url 之后的列表」当作两个数组各按下标取值:
const urls = this.list.map((f) => this.fileUrl(f)).filter((u) => !!u);
uni.previewImage({ urls, current: urls[index] || urls[0] });只要列表里有一个条目拿不到 url(fileUrl 是 url || path || ''),.filter() 就会把后面的下标整体前移——urls[index] 指向的已经不是被点击的那一张;越界时还会静默退回 urls[0]。表现是「点第 3 张,打开的是别的图」,且不报错。
现在改为逐项配对({ url, at })再筛空,按原始下标找回目标位置;仅当被点的那一张自身也拿不到 url 时才退回第一张。
内部
check:logic的真跑面从 3 个组件扩到 4 个(新增vui-upload),断言 35 → 36 条。- 修掉该检查自己的一处假锁:组件枚举原先手抄成数组,「少抄一个组件」只会让循环少跑一圈、静默通过。现在组件路径是唯一登记处,并新增反向对账(文件里每声明一条
uni_modules/...路径常量,都必须登记进枚举)。
自测
npm run check:all15 条全绿npm run check:h5:真构建 + 真浏览器渲染 5 个页面 + 探针页,全部留下组件痕迹- 负向验证:6 处单缺陷注入全部命中,源码 sha256 逐字节还原