【pptx-preview】react+pptx预览

pptx前端预览插件

pptx-preview - npm

1.插件使用

javascript 复制代码
let pptxPreviewer: any = null;
const dom: any = document.getElementById(`pptx-wrapper`);
            if (!dom) return;
            pptxPreviewer = init(dom, { width: 800 });
            fetch(url).then((response: any)=> response.arrayBuffer()).then((res) =>{
                console.log('res:', res);
                pptxPreviewer.preview(res);
                setTimeout(() => {
                    set_file_loading(false)
                }, 1000)
            })

注意:组件卸载的时候清除掉预览实例

javascript 复制代码
return () => {
            pptxPreviewer = null;
        };

标签处写个html即可

javascript 复制代码
<div
  className="pptx-container"
  id={`pptx-wrapper`}
></div>

2.问题

我这里项目中的使用是二次封装了个预览插件,并且需求是需要同时展示原文和译文,也就是说,读写内容的时候注意需要加唯一id,否则会有问题,也要每次卸载都删掉实例才行。

即使这样,因为react的热加载问题,每次保存代码。都会自己在生成一个组件,之前的还会存在,还未找到具体解决方法。

相关推荐
long3164 分钟前
适配器模式 java demo
java·javascript·后端·程序人生·设计模式·适配器模式
2401_837088501 小时前
ref 简单讲解
前端·javascript·vue.js
汪子熙2 小时前
Vite 极速时代的构建范式
前端·javascript
叶常落2 小时前
[react] js容易混淆的两种导出方式2025-08-22
javascript
摸着石头过河的石头4 小时前
大模型时代的前端开发新趋势
前端·javascript·ai编程
洋流4 小时前
0基础进大厂,第22天 : CSS中的定位布局,你的.container还找不到位置吗?
前端·javascript·面试
讨厌吃蛋黄酥4 小时前
面试官问 “React Hooks 为啥不能在条件里用”,这么答才显真水平!多数人只知其然
前端·javascript·面试
言兴4 小时前
从输入 URL 到页面显示:深入理解浏览器缓存机制
前端·javascript·面试
讨厌吃蛋黄酥4 小时前
前端跨域难题终结者:从JSONP到CORS,一文搞定所有跨域问题!
前端·javascript·后端
阿星做前端4 小时前
coze源码解读:项目启动
前端·javascript