import styles from './xx.module.css';
import ReactToPrint from 'react-to-print';
import ...略
export const aa = () => {
,,, 略
const getIeScrollClass = () => ieVersion >= 11 && !printBtnShow ? styles.scrollbar : ''
return (
<div style={{ pageBreakAfter: 'always' }} className={classnames(isPrint ? styles.a : styles.b, getIeScrollClass(), styles[其他classname])}
ref={ref => setMyRef(ref)}>
<div style={{ visibility: printBtnShow ? undefined : 'hidden' }}>
<ReactToPrint
trigger={() => <a href="#">打印</a>}
content={() => myRef}
onBeforeGetContent={() => {
// 打印前隐藏打印按钮
setPrintBtnShow(false);
}}
onAfterPrint={() => {
setPrintBtnShow(true);
}}
/>
</div>
<div>...打印内容...</div>
</div>
)
}
// 注意事项:
ie11浏览器的分页打印会出现滚动条, 记得把xx.module.css中的css样式改为
.scrollbar {
-ms-overflow: scroll;
-ms-overflow-style: none;
}