可能出现这种问题的原因是因为Angular9 Signature Pad插件的初始设置没有正确设置。为了解决这个问题,可以按照以下步骤进行调整:
1.在组件ts文件中导入SignaturePad并在ngAfterViewInit()中初始化:
import { Component, ViewChild, ElementRef, AfterViewInit } from '@angular/core'; import SignaturePad from 'signature_pad';
@Component({ selector: 'app-signature', templateUrl: './signature.component.html', styleUrls: ['./signature.component.css'] }) export class SignatureComponent implements AfterViewInit {
@ViewChild('signaturePad', { static: true }) signaturePadElementRef: ElementRef;
private signaturePad: SignaturePad;
ngAfterViewInit(): void { this.initializeSignaturePad(); }
private initializeSignaturePad(): void { const canvas = this.signaturePadElementRef.nativeElement; this.signaturePad = new SignaturePad(canvas); }
}
2.在组件的CSS样式表中添加以下代码以使canvas居中:
canvas { display: block; margin: auto; }
this.signaturePad = new SignaturePad(canvas, { minWidth: 1, maxWidth: 2.5, penColor: 'rgb(66, 133, 244)', backgroundColor: 'white', canvasWidth: 300, canvasHeight: 200, pixelRatio: 1, });
希望上述方法能解决你的问题并使得签名能够正确绘制。