react+antd+react-to-print实现打印功能,ie浏览器可去掉滚动条

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;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值