【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的热加载问题,每次保存代码。都会自己在生成一个组件,之前的还会存在,还未找到具体解决方法。

相关推荐
Java Fans19 小时前
JavaScript性能优化实战指南:从原理到落地
开发语言·javascript·性能优化
Wpa.wk19 小时前
自动化测试-多窗口处理 + frame处理
开发语言·javascript·自动化·ecmascript·iframe·frame·多窗口处理
海上彼尚19 小时前
React18+快速入门 - 3.组件通讯[完整版]
前端·javascript·react.js
梦想的旅途220 小时前
JS 注入与 DOM 操作:Web 企业微信 RPA 的交互增强
前端·javascript·企业微信
北辰alk20 小时前
React 开发全面指南:核心 API、方法函数及属性详解
react.js
浪浪山_大橙子20 小时前
🤖 电脑智能助手:用Trae打造的Electron+大模型自动化工具
前端·javascript
北辰alk20 小时前
React 的 setState 批量更新机制详解
前端·react.js
qq132670294020 小时前
后端开发接受Vue项目踩坑记录
前端·javascript·vue.js
写代码的皮筏艇20 小时前
取消axios请求
前端·javascript
北辰alk20 小时前
React 性能优化十大总结
react.js