React简单自定义菜单


菜单组件

import React,{Component} from 'react';
import {Link} from 'react-router-dom';
import {Menu,message } from 'antd';
class Hmenu extends Component{
    constructor(props){
        super(props);
    }
    HMeClick= (e) => {
        message.info("组件Hmenu"+e.key);
    }
    render(){
       return (
        <Menu
        theme="light"
        mode="horizontal"
        onClick={(e)=>{this.HMeClick(e)}}
        selectedKeys={[this.props.pagekey]}
        style={{ lineHeight: '64px',padding:'0' }}
        >
            <Menu.Item key="h0">
            <Link to={{ pathname: '/'}}><b>首页</b></Link>
            </Menu.Item>
            <Menu.Item key="h1">
               <Link to={{ pathname: '/buildtools'}}><b>工具页</b></Link>
            </Menu.Item>
            <Menu.Item key="h2">
               <Link to={{ pathname: '/monitor'}}><b>Echarts图使用</b></Link>
            </Menu.Item>
        </Menu>
    );
    }
}
Hmenu.propTypes = {
};
export default Hmenu;

头部框架组件

import React,{Component} from 'react';
import {Layout} from 'antd';
const {Header} = Layout;
import Head from './Head';暂不提供,这个也是自定义组件
import Logo from './Logo';暂不提供,也是自定义组件
import Hmenu from './Hmenu';
class HeaderLayout extends Component{
   
    render(){
       return (
        <Header style={{padding:'0px',background: '#fff'}}>
        <Logo/>
        <Head username={this.props.username} userjobno={this.props.userjobno}/>
        <Hmenu pagekey={this.props.pagekey}/>
        </Header>
    );
    }
}
HeaderLayout.propTypes = {
};
export default HeaderLayout;

关注Hmenu我自己写的这个组件就行

monitor页面的代码

import HeaderLayout from '../../components/Menu/HeaderLayout';
 <HeaderLayout  pagekey={'h2'} username={'竹子'} userjobno={'abcdefg'}/>

 

 

 

 

 

 

 

 

 

 

 

### React 中使用 WangEditor 实现自定义菜单React 项目中集成 WangEditor 并实现自定义菜单可以通过以下方法完成: #### 安装依赖包 首先,在项目中安装 `@wangeditor/editor` 和 `@wangeditor/editor-for-react`。 ```bash npm install @wangeditor/editor @wangeditor/editor-for-react --save ``` #### 初始化编辑器实例 创建一个用于挂载编辑器 DOM 节点的容器,并通过 `useRef()` 获取该节点。接着利用 `useEffect()` 来初始化编辑器实例,确保只会在首次渲染时运行一次[^1]。 ```jsx import { useRef, useEffect } from 'react'; // 导入 Editor 组件以及核心依赖 import '@wangeditor/editor/dist/css/style.css'; // 引入 css import { createEditor } from '@wangeditor/editor'; function MyComponent() { const editorRef = useRef(null); useEffect(() => { const editorInstance = createEditor({ selector: '#editor-container', config: {}, mode: "default", // 或者 simple }); return () => { editorInstance.destroy(); }; }, []); } ``` #### 添加自定义工具栏按钮 为了向默认工具栏添加新的命令项,可以在配置对象内指定 `toolbarConfig` 属性下的 `customMenus` 数组来注册额外的功能键[^2]。 ```javascript const customMenuKeys = ['myCustomButton']; config.toolbarConfig.customMenus = [ ...customMenuKeys, ]; // 注册自定义菜单对应的逻辑处理函数 editorInstance.config.onMenuClick = (menuKey) => { if(menuKey === 'myCustomButton'){ alert('点击了我的自定义按钮'); } }; ``` #### 渲染组件结构 最后一步是在 JSX 模板里放置实际的 HTML 结构以便于编辑器能够正确附着上去[^3]。 ```html <div> <!-- 编辑区域 --> <div id="editor-container"></div> {/* 如果需要显示顶部工具条 */} <Toolbar editor={editor} defaultConfig={{}} style={{borderBottom:'1px solid #ccc'}} /> </div> ``` 以上就是完整的基于 React 使用 WangEditor 构建带自定义菜单的过程说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值