时隔三年更新!!支持vue3支持vue3!!!!更新依赖后只需要将bgColor原来的.sync修饰符改成vue3的写法v-model:bgColor;新增属性为ClearBgColor,默认值为true,是否在清除画布(reset)时同时清除设置的背景色(bgColor);直接npminstallvue-esign@latest--save就可以了,对vue2版本没有影响;该功能兼容PC和Mobile;画布自适应屏幕大小变化(窗口缩放和屏幕旋转时不需要重新设置画布,自动校正坐标偏移);自定义画布大小(导出图片大小),画笔粗细,颜色,画布背景色;支持裁剪(需求:部分签名需要裁剪周围的空白)。导出的图片格式为base64;示例demo安装npminstallvue-esign--save并使用main.js引入importvueEsignfrom'vue-esign'Vue.use(vueEsign)在Vue.use(vueEsign)页面使用时必须设置为ref才能调用组件的两个组件内置方法reset()和generate()不需要为组件设置样式的宽高。如果画布的width属性值不超过父元素的样式宽度,则组件的样式宽度为画布宽度。如果超过,则组件的样式宽度为父元素的100%;所以只需设置父元素的宽度;data(){return{lineWidth:6,lineColor:'#000000',bgColor:'',resultImg:'',isCrop:false}},方法:{handleReset(){this.$refs.esign.reset()},handleGenerate(){this.$refs.esign.generate().then(res=>{this.resultImg=res}).catch(err=>{alert(err)//这将在画布未签名时执行'NotSigned'})}}Description属性类型默认值说明widthNumber800画布宽度,即导出图像的宽度heightNumber300画布高度,即导出图像的高度lineWidth4Number画笔粗细lineColorString#000000画笔颜色bgColorString空画布背景色,为空时画布背景透明,支持多种格式'#ccc','#E5A1A1','rgb(229,161,161)','rgba(0,0,0,.6)','red'isCropBooleanfalse是否裁剪,根据画布设置的大小裁掉周围空白部分两个内置的方法,通过给组件设置ref调用:清除画布this.$refs.esign.reset()生成图片this.$refs。设计.generate().then(res=>{console.log(res)//base64image}).catch(err=>{alert(err)//画布未签名时执行'NotSigned'})有问题请到这里发布仓库地址