react-to-print打印

react-to-print打印

介绍

React-to-print 是一个用于在 React 应用中实现打印功能的库。它提供了一些方便的方法和组件,可以帮助你轻松地将页面内容导出为打印格式

安装

arduino 复制代码
    npm install react-to-print

使用

javascript 复制代码
    import ReactToPrint from 'react-to-print';
ini 复制代码
     const popupContentRef = useRef(null);

<PrinterOutlined>是标签
<ReactToPrint> 是一个按钮,用来触发打印操作。
trigger 属性用于指定触发打印操作的元素或组件。它可以是一个按钮、链接或其他可以点击的元素。当用户点击该元素时,会触发打印操作。trigger 属性接受一个函数,该函数必须返回一个 React 元素。常见的用法是将其设置为一个函数组件,返回一个按钮或链接,如示例中的 <PrinterOutlined/>
content 属性用于指定要打印的内容。它可以是一个组件或一个函数,该函数返回要打印的内容。要确保要打印的内容是可见的,并且在渲染时可以正常访问。在示例中,我们将 popupContentRef.current 传递给了 content 属性,以便将其打印出来。

xml 复制代码
<div className={styles.printerOutlined}>
    <div>
        <ReactToPrint
            trigger={() => <PrinterOutlined />}
            content={() => popupContentRef.current}
        ></ReactToPrint>
    </div>
</div>
xml 复制代码
<div ref={popupContentRef} id="popupContentRef" className={styles.modalContent}>
    ...需要打印内容
</div>

分页效果

css 复制代码
@media print {
  html, body {
    height: initial !important;
    overflow: initial !important; // 如果出现无法分页加入此属性
    -webkit-print-color-adjust: exact;
  }
}
相关推荐
黄团团10 分钟前
Vue2整合Electron开发桌面级应用以及打包发布(提供Gitee源码)
前端·javascript·vue.js·elementui·electron
勇气要爆发15 分钟前
问:LocalStorage、Vuex、Pinia的区别和本质
前端
Aerelin17 分钟前
iframe讲解(爬虫playwright的特殊应用)
前端·爬虫·python·html
Drift_Dream21 分钟前
IntersectionObserver:现代Web开发的交叉观察者
前端
9***P33432 分钟前
前端错误监控工具
前端
东东2331 小时前
GeoJSON 介绍:Web 地图数据的通用语言
前端·javascript·json
之恒君1 小时前
Promise.resolve(x) 等同 new Promise(resolve => resolve(x))?
前端·promise
亮子AI1 小时前
【Javascript】jsondiffpatch检测到子节点改变了,父节点会标记为改变吗?
开发语言·前端·javascript
什么时候星期五1 小时前
antd 4.x Tabs 点击阻止冒泡
css·react.js
T___T1 小时前
写着写着,就踩进了 JavaScript 的小坑
前端·javascript·面试