如何使用 useRef 保留反应签名

Nik*_*tha 2 reactjs

我正在使用 React-signature-canvas 作为签名板,但在关闭并重新打开模式后签名消失。有没有可能的方法在关闭后保留模式上的签名?

我尝试在更高的组件上初始化 useRef() 并传递给 Modal 组件

预期行为

模式关闭时保留的签名

我创建了这个实时运行的示例来说明问题:

关于这个问题有任何反馈吗?

小智 5

您只需要在保存时存储签名数据。并在handleClickOpen上设置SignaturePad的初始状态。像这样的东西

  const [pointsArray, setPointsArray] = React.useState(null);
  const save = () => {
    setPointsArray(sigCanvas.current.toData());
    setImageURL(sigCanvas.current.getTrimmedCanvas().toDataURL("image/png"));
  };
  const handleClickOpen = () => {
    setOpen(true);
    setTimeout(() => {
      if (pointsArray) {
        sigCanvas.current.fromData(pointsArray);
      }
    });
  };
Run Code Online (Sandbox Code Playgroud)