5

我正在使用 react-konva 为应用程序创建 UI。我想要它,以便在将鼠标悬停在 Rect 上时光标变为指针。有关于如何使用 konva 而不是 react-konva 的文档。任何人都可以帮忙吗?

4

3 回答 3

12

它的工作方式与 Konva 演示非常相似。

<Rect
  width={50}
  height={50}
  fill="red"
  onMouseEnter={e => {
    // style stage container:
    const container = e.target.getStage().container();
    container.style.cursor = "pointer";
  }}
  onMouseLeave={e => {
    const container = e.target.getStage().container();
    container.style.cursor = "default";
  }}
/>

演示:https ://codesandbox.io/s/react-konva-cursor-style-demo-96in7

于 2020-03-12T16:54:19.237 回答
0

您是否尝试过使用合成事件onMouseOver和许多其他事件。

检查这个线程, 你如何在 ReactJS 中悬停?- 在快速悬停期间未注册 onMouseLeave

于 2020-03-12T10:57:57.577 回答
0

此外,您可以合并两个事件:

const handleCursor = (e: KonvaEventObject<MouseEvent>) => {
   const stage = e.target.getStage();
   if (stage) {
     if (e.type === "mouseenter") {
       stage.container().style.cursor = "pointer";
     } else {
       stage.container().style.cursor = "default";
     }
   }
};
于 2021-11-29T05:07:40.923 回答