javascript - TippyJS-React : how to open context-menu on right-click

标签 javascript typescript contextmenu popper.js tippyjs

我尝试使用tippyjs-react执行右键菜单:

<Tippy
  placement={'right-start'}
  content={someConent}
  trigger={'manual'}
>
  {children}
</Tippy>

我知道我需要将带有“contextmenu”的事件监听器添加到子级并使用tippyInstance.show()方法,但是如何访问该实例?

最佳答案

import React, { useState } from "react";
import Tippy from "@tippyjs/react";
import "tippy.js/dist/tippy.css"; // optional
import "./styles.css";

export default function App() {
  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
      <MyTippy />
    </div>
  );
}

const MyTippy = () => {
  const [visible, setVisible] = useState(false);
  return (
    <Tippy
      onClickOutside={() => setVisible(false)}
      visible={visible}
      placement="right-start"
      content={<span>Tooltip</span>}
    >
      <button
        onContextMenu={(e) => {
          e.preventDefault();
          setVisible(true);
        }}
      >
        My button
      </button>
    </Tippy>
  );
};

Edit compassionate-curran-t3n82

关于javascript - TippyJS-React : how to open context-menu on right-click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64475439/

相关文章:

javascript - 在 javascript 中使用 append child 的树结构无法正常工作

javascript - 关节.shapes.uml.js : Uncaught TypeError: Cannot read property 'Generic' of undefined

C# 鼠标右键单击和控制焦点

svn - Windows 7中没有TortoiseSVN的上下文菜单

c++ - ContextMenu 项目扩展在 Windows 7 中不起作用

javascript - 我如何禁用输入字段的自动填充功能

javascript - 你能比较多个变量,看看它们在 JS 中是否都等于相同的值吗?

javascript - Paint JS改变颜色onclick

javascript - Angular Material - 粘贴

javascript - DEPRECATION :', ' 直接在 Env 上设置 specFilter 已被弃用,请在配置中使用 specFilter 选项'