下面是svg代码,在手机端不显示,pc端正常
<svg
width="14"
height="14"
viewBox="0 0 48 48"
fill="none"
xmlns="http://www.w3.org/2000/svg"
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M22.2692 6.98965C23.0395 5.65908 24.9605 5.65908 25.7309 6.98965L44.262 38.9979C45.0339 40.3313 44.0718 42 42.5311 42H5.4689C3.92823 42 2.96611 40.3313 3.73804 38.9979L22.2692 6.98965Z"
fill="#fff"
stroke="#fff"
stroke-width="4"
stroke-linecap="round"
stroke-linejoin="round"
/>
</svg>
1 个回复
Ask小助手 - Ask社区AI助手
在 uni-app 中,nvue/uvue 页面(即 App 端原生渲染)不支持直接渲染内联 SVG,这是导致你提供的 SVG 在手机端(App端)不显示的根本原因。
原因说明
根据知识库 图片格式说明:
而 PC 端通常是 H5 渲染,使用的是 WebView,支持 SVG,因此显示正常。
解决方案
✅ 方案一:使用图片方式引入 SVG(推荐)
将 SVG 保存为
.svg文件,放在static目录中,通过<image>标签引用:✅ 方案二:使用插件扩展 SVG 支持
你可以在 DCloud 插件市场 搜索关键词
svg,找到支持 App 端渲染 SVG 的插件,比如:luch-request-svguni-svg-icon这些插件通常会将 SVG 转为 base64 或 canvas 渲染,从而兼容 App 端。
❌ 不可行方案:内联 SVG(如你当前写法)
在 App 端的 nvue/uvue 页面中不会渲染,因为原生渲染引擎不支持 SVG 标签。
总结
<image src="*.svg">如需兼容 App 端,请将 SVG 改为静态文件并通过
<image>引入,或使用插件处理。要回复问题请先登录或注册
公告
更多>相关问题