移动端文件类组件
系统提供下面3个组件处理文件
- 附件组件:文件上传、下载和预览
- Excel 导出组件:将数据导出为 Excel、Word、PDF 文件,多个文件支持导出 zip 文件,支持使用模板,支持导出主从数据
- 打印组件:通过定义 Handlebars 语义模板,将数据按照一定的格式生成 pdf 文件,用于打印,支持打印图片
- 签名组件:用于将用户签名的图片以附件的形式存储到数据集,支持使用在“企业门户-个人信息或用户管理”中上传的个人签名图片
附件组件
展现方式
附件组件支持表格、列表、简单、常规等四种展现方式,如下图所示
属性
属性 | 用途 | 值 |
---|---|---|
绑定数据列 | 存储上传的文件信息,包括存储名 storeFileName 和真名 realFileName | JSON 格式,例如 [{storeFileName:"C912dhf47",realFileName:"需求文档.pdf"}}] |
源服务 | 访问其它应用的文件,为空时访问当前应用 | 应用名,例如 entry |
文件预览服务 | 是否使用“文件预览服务”预览文件 | 是否 |
上传列表展现 | 原生组件展现为“常规”,用于展示图片;系统组件扩展了“表格、列表、简单”等三种形式,用于展示文件,运行效果如上图所示 | 常规、表格、列表、简单 |
图片填充模式 | 显示图片的方式,包括是否保持宽高比、缩放方式等 | contain 不变形,完整显示;cover 不变形,充满不留白,多余部分不显示;fill 变形,充满不留白;widthFix 宽度充满;heightFix 高度充满;none 不缩放 |
显示上传 | 常规模式下,是否显示上传按钮 | 是否 |
上传文本 | 常规模式下,自定义上传按钮中的文字 | 文字 |
上传图标 | 常规模式下,自定义上传按钮中的图标 | 图标 |
预览图片 | 常规模式下,是否显示预览图片 | 是否 |
预览大小 | 常规模式下,预览图片显示的大小 | 数字 |
允许删除 | 常规模式下,预览图片右上角是否显示删除图标 | 是否 |
文件类型 | 设置允许上传的文件类型,默认只上传图片,用法同桌面端附件组件 | |
文件大小限制 | 设置允许上传的文件大小,该属性单位为 byte,用法同桌面端附件组件 | 数字 |
文件个数限制 | 设置允许上传的文件个数,用法同桌面端附件组件 | 数字 |
文件多选 | 是否开启图片多选,部分安卓机型不支持 | 是否 |
图片剪裁 | 设置是否开启图片剪裁 | 是否 |
压缩图片 | 标识附件中的图片是原图还是压缩图,类似于微信发送图片的场景 | 是否 |
注意:accept、capture 和 multiple 为浏览器 input 标签的原生属性,移动端各种机型对这些属性的支持程度有所差异,因此在不同机型和 WebView 下可能出现一些兼容性问题。
事件
事件 | 用途 | 事件参数 |
---|---|---|
选择文件后 | 在上传前进行校验,vantui 调用 callback 方法传入 true 表示校验通过,传入 false 表示校验失败;vant 返回 true 表示校验通过,返回 false 表示校验失败 | 上传的文件对象 |
文件读取后 | 文件上传完毕后会触发,在这里执行上传图片 | detail中包含上传的文件对象 |
文件上传前 | 补充 formData,例如 event.detail.formData.pid = "123"; | detail中包含上传的文件对象 |
点击预览 | 替换文件默认的预览地址,实现自定义逻辑 | 要预览的文件对象 |
Excel 导出
Excel 导出组件提供标准导出和模板导出两种方式
- 标准导出:支持动态设置导出列,可导出 Excel、PDF 文件
- 模板导出:模板支持 Excel 文件和 Word 文件,支持动态模板、导出主从数据、批量导出。使用 Excel 模板导出 Excel、PDF 文件;使用 Word 模板导出 Word、PDF 文件
参考《Excel 导出》
特别说明
- 具有导出文件能力的还有报表,参考《报表设计》
打印组件
打印组件,通过定义 Handlebars 语义模板,将数据按照一定的格式生成 pdf 文件,用于打印,支持打印图片,参考《打印组件》
签名组件
签名组件用于将用户签名的图片以附件的形式存储到数据集,支持使用在“企业门户-个人信息或用户管理”中上传的个人签名图片。运行效果如下图所示
设置“绑定数据列”,用户的签名图片以附件的形式存入绑定数据列,设计界面如下图所示
案例位置
移动-页面-文件处理组件-附件组件.w
桌面-页面-文件处理组件-导出组件.w
桌面-页面-文件处理组件-打印组件.w
桌面-页面-文件处理组件-签名组件.w