当前位置:   article > 正文

vue 数据打印_vue 打印

vue 打印

第三方依赖vue-printjs(下面示例打印的是Html类型,该插件可以指定不打印的部分)

        资源包网址:GitHub - xyl66/vuePlugs_printjs: vue打印插件

效果图:

1.安装vue-printjs

npm i vue-printjs -S

2.main.js全局引入vue-printjs

  1. import Print from 'vue-printjs'

  2. Vue.use(Print)

3.在需要打印表格或数据的组件中使用

  1. <template>
  2. <!-- 打印 -->
  3. <el-button
  4. size="mini"
  5. class="el-icon-printer"
  6. @click="printJson"
  7. ></el-button>
  8. <!-- 要打印的表格部分,定义属性ref='table' -->
  9. <el-table
  10. :data="list"
  11. border
  12. row-key="name"
  13. ref="table"
  14. >
  15. <!-- 序号 -->
  16. <el-table-column
  17. type="index"
  18. label="序号"
  19. align="center"
  20. width="50px"
  21. height="24px"
  22. ></el-table-column>
  23. <el-table-column
  24. label="用户"
  25. align="left"
  26. width="120px"
  27. class="addline"
  28. >
  29. </el-table-column>
  30. <el-table-column
  31. prop="Staff_Name"
  32. label="姓名"
  33. align="left"
  34. width="80px"
  35. show-overflow-tooltip
  36. >
  37. </el-table-column>
  38. <!-- 不需要打印表格中的列部分,定义class-name="no-print"(在el-table-column标签中,定义class要用它的class-name属性) -->
  39. <el-table-column label="操作" align="center" width="50px" class-name="no-print">
  40. <template slot-scope="scope">
  41. <el-button
  42. @click="delateList(scope.row)"
  43. class="el-icon-delete"
  44. ></el-button>
  45. </template>
  46. </el-table-column>
  47. <el-table-column label="" align="center" width="" class-name="no-print"></el-table-column>
  48. </el-table>
  49. </template>
  50. <script type="text/javascript">
  51. export default {
  52. data() {
  53. return {
  54. list : [],
  55. };
  56. },
  57. methods: {
  58. printJson() {
  59. this.$print(this.$refs.table);
  60. },
  61. }
  62. };
  63. </script>

4.点击打印按钮,弹出打印预览界面,右边栏调整打印界面——打印。 

*注意: 打印多页需要在vue-printJS代码中添加:

  1. // 在print.js文件中添加

  2. str += "<style>html,body,div{height: auto!important;font-size:14px}</style>";

*在main.js中找到引入的vue-printjs文件( Ctrl+鼠标单击 )打开print.js文件 

 *在红框位置添加一下代码

// 在print.js文件中添加
str += "<style>html,body,div{height: auto!important;font-size:14px}</style>"; 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/105211
推荐阅读