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

相关推荐
sorryhc12 分钟前
解读Ant Design X API流式响应和流式渲染的原理
前端·react.js·ai 编程
1024小神17 分钟前
vue/react前端项目打包的时候加上时间,防止后端扯皮
前端·vue.js·react.js
拉不动的猪22 分钟前
刷刷题35(uniapp中级实际项目问题-2)
前端·javascript·面试
Clockwiseee1 小时前
js原型链污染
开发语言·javascript·原型模式
BBbila2 小时前
小程序主包方法迁移到分包-调用策略
开发语言·javascript·微信小程序
不能只会打代码3 小时前
六十天前端强化训练之第十七天React Hooks 入门:useState 深度解析
前端·javascript·react.js
何包蛋H3 小时前
分享vue好用的pdf 工具实测
javascript·vue.js·pdf
PagiHi3 小时前
iWebOffice2015 中间件如何在Chrome107及之后的高版本中加载
前端·javascript·chrome·中间件·edge·js
SuperHua10014 小时前
还在用Pyinstaller打包python?试试轻量级的LightCode吧!
javascript·python