amis
amis copied to clipboard
onBuildToolbars 无法修改点选框顶部 icon 按钮事件
描述问题:
onBuildContextMenus 函数可以通过 return 一个新 ,menu 去重置 menus , 而 onBuildToolbars return 新的 toolbar 无效
截图或视频:
如何复现(请务必完整填写下面内容):
- 你是如何使用 amis 的?
import { Editor } from 'amis-editor';
react 框架直接引入
- amis 版本是什么?请先在最新 beta 版本测试问题是否存在
"amis": "6.7.0", "amis-core": "6.7.0", "amis-editor": "6.7.0", "amis-editor-core": "6.7.0"
- 粘贴有问题的完整
amis schema代码:
// 右键点击上下文菜单
const onBuildContextMenus = (event: PluginEvent<ContextMenuEventContext>) => {
const { data } = event;
// 过滤的菜单项
const filterItems = ['copy', 'copy-config', 'cat-config', 'paste-config'];
// 最后一栏:插入、删除等功能直接去除
const idx = data.findLastIndex((d) => d === '|');
return data.slice(0, idx).filter((d) => !filterItems.includes(d.id));
};
// 构建点选框顶部 icon 按钮事件
const onBuildToolbars = (event: PluginEvent<BaseEventContext>) => {
const { data } = event;
const filterItems = ['insert-before', 'insert-after', 'build'];
const newData = data.filter((d) => !filterItems.includes(d.id));
data.length = 0;
data.push(...newData);
};
上述代码 onBuildToolbars 只能通过修改 data 的方式来重置 toolbar
- 操作步骤
onBuildToolbars 应该和 onBuildContextMenus 相同,可以通过 return 去返回新的数据