干货分享, FormMaking 表单设计器快速实现表单的详情展示和打印

2021-08-26 09:41:50 +08:00
 GavinZhulei

背景

我们在实际的表单应用中,常常会遇到表单编辑好后,如何快速的展示详情页面又或者直接能够打印呢。接下来我们会在本文中详细道来。

设计表单

通过 FormMaking 设计出表单。这里我们使用表格布局,设计出如下样式的表单:

关于如何设计出这样的表单,可以前往复杂报表设计查看。

展示表单详情

我们需要展示表单详情的时候,只需要配置表单组件的参数,启用表单打印阅读即可,表单就会将文本框转化为文本类型。设置如下:

<fm-generate-form 
    :data="jsonData" 
    ref="generateForm" 
    :print-read="true" >
</fm-generate-form>

print-read 属性设置成 true 即可,是不是很简单呢。

表单打印

实现表单打印也是非常简单的,我们上面已经将表单设置成打印阅读模式,让文本框消失,直接展示文本了,我们就可以直接调用 window.print()来实现页面的打印。

但是,有时我们的页面上还有其它的元素,比如打印按钮等,我们不想将其打印出来,这个时候我们就需要使用 CSS 媒体查询 @media print 来修改样式,实现在打印设备上的展示效果。

<template>
  <div>
    <fm-generate-form 
      :data="jsonData"
      ref="generateForm"
      :print-read="true"
    >
    </fm-generate-form>
    <el-button class="print-btn" type="primary" @click="handlePrint">打印</el-button>
  </div>
</template>

<style>
@media print{ .print-btn{ display: none; } }
</style>

我们来看看最后的效果:

1160 次点击
所在节点    推广
3 条回复
airyland
2021-08-26 11:40:48 +08:00
这个名字让我想起 FormMaking.com 这个域名在我手上。
waising
2021-08-26 11:44:32 +08:00
@airyland #1 难道就是为了你的域名起的名字
airyland
2021-08-26 11:45:09 +08:00
@waising 肯定只是巧合。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/798065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX