zoukankan      html  css  js  c++  java
  • antd Tree组件中,自定义右键菜单

    最近项目中,有一个需求是自定义antd的Tree组件的右键菜单功能。

    直接上代码

    class Demo extends Component {
      state = {
        rightClickNodeTreeItem: {
          pageX: "",
          pageY: "",
          id: "",
          categoryName: ""
        }
      }
    
      // tree列表上右键事件
      onRightClick = e => {
        this.setState({
          rightClickNodeTreeItem: {
            pageX: e.event.pageX,
            pageY: e.event.pageY,
            id: e.node.props["data-key"],
            categoryName: e.node.props["data-title"]
          }
        });
      };
    
      // 自定义右键菜单内容
    
       getNodeTreeRightClickMenu = () => {
        const { pageX, pageY, id, categoryName } = { ...this.state.rightClickNodeTreeItem };
        const tmpStyle = {
          position: "absolute",
          left: `${pageX - 220}px`,
          top: `${pageY - 102}px`
        };
        const menu = (
          <div style={tmpStyle} className="self-right-menu">
            <a onClick={this.addDownGroup.bind(this, id)}>新增下级部门</a>
            <a onClick={this.editGroup.bind(this, id, categoryName)}>修改</a>
            <a>删除目录</a>
          </div>
        );
        return this.state.rightClickNodeTreeItem == null ? "" : menu;
      };
    
      render(){
       return (
         ...
          {this.getNodeTreeRightClickMenu()}
         ...
       )
      }
    
    }
    
    export default Demo;
    
    
  • 相关阅读:
    10.16作业
    day0402作业
    day04作业
    10.13作业
    JVM原理最全、清晰、通俗讲解
    Java的SimpleDateFormat,DateTimeFormatter:YYYY与yyyy
    从源码层面理解 ArrayList 扩容策略
    哈夫曼树
    面向对象三大基本特性,五大基本原则
    数据结构
  • 原文地址:https://www.cnblogs.com/zhouyangla/p/9795998.html
Copyright © 2011-2022 走看看