首页 > 解决方案 > 类型“{}”.ts(2339) 上不存在属性“getTrimmedCanvas”,签名板

问题描述

我正在尝试在我的应用程序中实现一个功能,以便用户可以签署 PDF。我在 CodeSandbox 上找到了 Signature Pad 的示例,我尝试将其插入到我的项目中,但出现了 2 个错误:

Property 'getTrimmedCanvas' does not exist on type '{}'.ts(2339)

Property 'clear' does not exist on type '{}'.ts(2339)

代码源签名板示例

有错误的代码部分

import Popup from "reactjs-popup";
import SignaturePad from "react-signature-canvas";
import { useState, useRef } from "react";
import React from "react";

function Button() {
  const sigCanvas = useRef({});
  const [imageURL, setImageURL] = useState(null);
  const clear = () => sigCanvas.current.clear();
  const save = () =>setImageURL(sigCanvas.current.getTrimmedCanvas().toDataURL("image/png"));

  return (

//for more Code use the Link: Codesource Signature Pad example

  );
}

export default Button;

我已经安装了这两个库:

npm install --save reactjs-popup
npm install --save react-signature-canvas

知道如何解决它们吗?非常感谢

标签: reactjssignaturepad

解决方案


我解决了这个问题,在 useRef 中添加一个类型:

const sigCanvas = useRef<any>();

推荐阅读