print-js 实现打印表格

<template>
  <div class="home">
    <button @click="printJson">打印</button>
  </div>
</template>

<script lang="ts" setup>
import printJS from 'print-js'

const printJson = () => {
  //通过getdata调用后台接口获取数据封装到res
  // const res = await getdata();
  // this.list = res.data || [];
  let data = []
  for (let i = 0; i < 100; i++) {
    data.push({
      name: `test1${i}`,
      sex: i % 2 == 0 ? '男' : '女',
      age: i * 2,
      hobby: i % 2 == 0 ? '篮球' : '麻将',
      isMarried: i % 2 == 0 ? '未婚' : '已婚'

    })
  }
  printJS({
    printable: data,
    properties: [
      {
        field: 'name',
        displayName: '姓名',
        columnSize: 1
      },
      {
        field: 'sex',
        displayName: '性别',
        columnSize: 1
      },
      {
        field: 'age',
        displayName: '年龄',
        columnSize: 1
      },
      {
        field: 'hobby',
        displayName: '爱好',
        columnSize: 1
      },
      {
        field: 'isMarried',
        displayName: '婚姻状况',
        columnSize: 1
      },
    ],
    type: 'json',
    header: '标题',
    // 样式设置
    gridStyle: 'border: 2px solid #000;',
    gridHeaderStyle: 'color: #000;  border: 2px solid #000;'
  })
}

</script>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用vue3-print-nb打印表格的示例: 1. 首先,确保已经安装了vue3-print-nb依赖包。 2. 在需要打印表格的组件中,引入vue3-print-nb: ```javascript import print from 'vue3-print-nb' ``` 3. 在Vue应用的入口文件(main.js)中,使用vue3-print-nb插件: ```javascript const app = createApp(App) app.use(print) app.mount('#app') ``` 4. 在需要打印表格的组件中,使用vue3-print-nb提供的打印方法。例如,在一个名为PrintTable的组件中,有一个名为tableData的表格数据: ```html <template> <div> <table> <thead> <tr> <th>姓名</th> <th>年龄</th> <th>性别</th> </tr> </thead> <tbody> <tr v-for="item in tableData" :key="item.id"> <td>{{ item.name }}</td> <td>{{ item.age }}</td> <td>{{ item.gender }}</td> </tr> </tbody> </table> <button @click="printTable">打印表格</button> </div> </template> <script> export default { data() { return { tableData: [ { id: 1, name: '张三', age: 20, gender: '男' }, { id: 2, name: '李四', age: 25, gender: '女' }, { id: 3, name: '王五', age: 30, gender: '男' } ] } }, methods: { printTable() { this.$print({ title: '表格打印', content: '#table' }) } } } </script> ``` 在上述示例中,我们创建了一个包含表格打印按钮的组件PrintTable。当点击打印按钮时,调用printTable方法,通过this.$print方法打印表格。其中,title为打印页面的标题,content为需要打印的内容的选择器,这里我们选择了整个表格的选择器#table。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A_ugust__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值