const previewImageClick = (index) => {
console.log("调用了。。。: ");
uni.previewImage({
current: imageLinks.value[index],
urls: imageLinks.value,
success: function(data) {
console.log('成功' + JSON.stringify(data));
console.log('imageLinks.value' + JSON.stringify(imageLinks.value));
},
fail: function(err) {
console.log(err.errMsg);
}
});
};

- 发布:2025-05-27 14:02
- 更新:2025-05-27 18:46
- 阅读:78
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 15.5 (24F74)
HBuilderX类型: 正式
HBuilderX版本号: 4.66
手机系统: HarmonyOS NEXT
手机系统版本号: HarmonyOS 5.0.1
手机厂商: 华为
手机机型: nova 13
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
点击图片预览
点击图片预览
预期结果:
正常可以预览,并且可以滑动
正常可以预览,并且可以滑动
实际结果:
直接黑屏,点击就关掉了
直接黑屏,点击就关掉了
bug描述:
uni.previewImage使用这个方法的时候,安卓和iOS可以正常预览图片,但是鸿蒙next,直接就黑屏。试了网络图片和本地图片都不行

测试了一下,可以正常预览图片,下面是我的测试代码,附件是我的测试视频,你试试这个代码有没有问题
<template>
<view>
<slider id="slider"></slider>
<button @click="handleClick">打印节点信息</button>
</view>
</template>
<script>
export default {
methods: {
handleClick() {
uni.previewImage({
urls: ['https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni.png',
'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni.png'
],
current: 0,
success(res) {
console.log('success', res)
},
fail(res) {
console.log('fail', res)
},
})
}
}
}
</script>

y***@163.com (作者)
const handleClick = () => {
console.log("imageLinks.value: " + JSON.stringify(imageLinks.value));
// let urls=[...imageLinks.value];
let urls=imageLinks.value;
uni.previewImage({
urls: urls,
current: '0',
success(res) {
console.log('success', res)
},
fail(res) {
console.log('fail', res)
},
})
};
let urls=[...imageLinks.value]; 可以正常展示
let urls=imageLinks.value; 黑屏
我怀疑是通过ref绑定的拿不到,然后使用扩展运算创建一个新数组就可以正常显示,有点奇怪
y***@163.com (作者)
感觉鸿蒙next的写法限制有点严格,我之前用的安卓和iOS,都是可以的,现在转为鸿蒙就要使用扩展运算,看我下面的代码。这样的话我项目中所有的预览都要改了,改成扩展运算创建数组
2025-05-27 18:49
DCloud_UNI_JBB
回复 y***@163.com: 先解决你的问题
2025-05-27 19:01
y***@163.com (作者)
回复 DCloud_UNI_JBB: 好的,多谢,我先用扩展运算符解决问题吧
2025-05-27 19:28