vue 电子签名插件

1.安装

 npm install vue-esign --save 

2.main.js全局引入

import vueEsign from 'vue-esign'
Vue.use(vueEsign)

 3.调用组件的两个内置方法 reset() 和 generate()

4.页面代码 

<template>
  <div class="HelloWorld">
    <div style="border: 2px solid #e6e6e6; background-color: white">
      <vue-esign
        ref="esign"
        :width="800"
        :height="300"
        :isCrop="isCrop"
        :lineWidth="lineWidth"
        :lineColor="lineColor"
        :bgColor.sync="bgColor"
      />
    </div>
    <button @click="handleReset">清空画板</button>
    <button @click="handleGenerate">生成图片</button>
    电子签名:
    <img
      :src="resultImg"
      alt=""
      :style="resultImg !== null ? 'width: 100px; height: 70px' : ''"
    />
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data() {
    return {
      lineWidth: 6,
      lineColor: 'red',
      bgColor: '',
      resultImg: '',
      isCrop: false
    }
  },
  methods: {
    handleReset() {
      this.$refs.esign.reset()
    },
    // 生成base64格式
    handleGenerate() {
      this.$refs.esign
        .generate()
        .then((res) => {
          this.resultImg = res //把base64赋给img
          console.log(this.resultImg)
        })
        .catch((err) => {
          alert(err) // 画布没有签字时会执行这里
        })
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped></style>

 5.页面效果

 

 

### 如何在 Vue 移动端应用中实现电子签名功能 #### 使用 `vue-signature-pad` 插件构建电子签名组件 为了实现在 Vue 移动端应用程序中的电子签名功能,可以利用 `vue-signature-pad` 这一插件来简化开发过程。该插件基于 HTML5 Canvas 提供了一套易于使用的 API 来捕获用户的笔迹输入。 安装依赖: ```bash npm install vue-signature-pad --save ``` 创建一个新的 Vue 组件用于封装签名板逻辑: ```javascript // SignaturePad.vue <template> <div class="signature-pad"> <vueSignaturePad width="100%" height="300px" ref="signaturePad"/> <button @click="clear">清除</button> <button @click="save">保存</button> <!-- 显示已保存图像 --> <img v-if="dataUrl" :src="dataUrl" alt="签名预览"/> </div> </template> <script> import { VueSignaturePad } from 'vue-signature-pad'; export default { components: { VueSignaturePad, }, data() { return { dataUrl: null, // 存储导出后的图片 URL }; }, methods: { clear() { this.$refs.signaturePad.clearSignature(); }, save() { const { isEmpty, data } = this.$refs.signaturePad.saveSignature(); if (!isEmpty) { this.dataUrl = data; } } } }; </script> <style scoped> /* 自定义样式 */ .signature-pad button{ margin-top: 1rem; } </style> ``` 此代码片段展示了如何集成并配置 `vue-signature-pad` 组件到 Vue 应用程序中[^1]。通过上述方法能够快速搭建起具备基本操作(如绘制、清空画布以及获取最终结果)的移动设备友好型界面。 对于特定场景下的需求调整,比如判断是否显示已有签名字样,则可以根据路由参数动态控制视图状态,如下所示: ```javascript computed: { isViewAutograph(){ return parseInt(this.$route.query.isViews || 0)>0 ? true:false ; } }, ``` 这段脚本实现了依据查询字符串决定页面加载时是否展示之前存储过的签名图像的功能[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值