MenuBar是否支持渲染自定义组件?比如一个Select选择框
resetsix opened this issue · comments
目前 Menubar 这一块确实不支持自定义。如果真的想要实现的话,可能得自定义 workbench 了,这一块工作量比较大且后续维护起来会比较困难。主要实现思路如下:
- 在
const App = () => moInstance.render(<Workbench />);
的地方,这里的 Workbench 不引用 Molecule 导出的,而是自定义一个 Workbench 的组件 - 自定义的这个 Workbench 组件,需要实现 https://github.com/DTStack/molecule/blob/57804b644880336cdcb6587d4f7517503ded9f62/src/workbench/workbench.tsx 相关功能(这里建议复制粘贴)
- 然后基于上述自定义的 Workbench 组件就可以去自定义 MenuBar 或者其他组件了。
以上方案的优点在于自由度高,可定制化所有组件的逻辑。但是缺点也很明显,后续可维护性大大降低,而且工作量蛮大的。还需要自行根据需要斟酌一下。
目前 Menubar 这一块确实不支持自定义。如果真的想要实现的话,可能得自定义 workbench 了,这一块工作量比较大且后续维护起来会比较困难。主要实现思路如下:
1. 在 `const App = () => moInstance.render(<Workbench />);` 的地方,这里的 Workbench 不引用 Molecule 导出的,而是自定义一个 Workbench 的组件 2. 自定义的这个 Workbench 组件,需要实现 https://github.com/DTStack/molecule/blob/57804b644880336cdcb6587d4f7517503ded9f62/src/workbench/workbench.tsx 相关功能(这里建议复制粘贴) 3. 然后基于上述自定义的 Workbench 组件就可以去自定义 MenuBar 或者其他组件了。
以上方案的优点在于自由度高,可定制化所有组件的逻辑。但是缺点也很明显,后续可维护性大大降低,而且工作量蛮大的。还需要自行根据需要斟酌一下。
原来如此,明白了