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;
  }
}
相关推荐
IT_陈寒1 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
codingWhat1 小时前
介绍一个手势识别库——AlloyFinger
前端·javascript·vue.js
代码老中医2 小时前
2026年CSS彻底疯了:这6个新特性让我删掉了三分之一JS代码
前端
不会敲代码12 小时前
Zustand:轻量级状态管理,从入门到实践
前端·typescript
踩着两条虫2 小时前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能
扉川川2 小时前
OpenClaw 架构解析:一个生产级 AI Agent 是如何设计的
前端·人工智能
远山枫谷2 小时前
一文理清页面/组件通信与 Store 全局状态管理
前端·微信小程序
codingWhat2 小时前
手撸一个「能打」的 React Table 组件
前端·javascript·react.js
HelloReader2 小时前
Tauri 应用安全从开发到发布的威胁防御指南
前端
bluceli2 小时前
WebAssembly实战指南:将高性能计算带入浏览器
前端·webassembly