js实现vue组件打印,选择内容不打印

js方法,获取dom,用windows方法来打印。

export function myPrints(obj) {
  var printBox = obj
  // 拿到打印的区域的html内容
  var newContent = printBox.innerHTML
  // 将旧的页面储存起来,当打印完成后返给给页面。
  var oldContent = document.body.innerHTML
  // 赋值给body
  document.body.innerHTML = newContent
  // 执行window.print打印功能
  window.print()
  // 重新加载页面,以刷新数据。以防打印完之后,页面不能操作的问题
  window.location.reload()
  document.body.innerHTML = oldContent
}

css方法

不需要打印的用css样式来标记
no-print
使用@media规则可以在通用的样式表中,使用@media规则指定样式用于打印,也就是说当我们打印这个组件的时候不需要这个
按钮,可以屏蔽这个按钮,即display:none,或者需要改成其他样式也可以。


打印的时候隐藏这个按钮
@media print {
  .no-print {
    display: none;
  }
}

3.调用

image.png

image.png

效果如图:


打印效果

你可能感兴趣的:(js实现vue组件打印,选择内容不打印)