Appearance
ModelView 右键菜单
自定义修改:
返回值设置为[]
可以隐藏右键菜单
vue
<template>
<dft-model-view
:get-context-menus="()=>[]"
/>
</template>
vue
<template>
<dft-model-view
:get-context-menus="getContextMenus"
@context-menu-select="handleContextMenuSelect"
/>
</template>
<script setup>
/**
* 获取右键菜单列表
* @param defaultContextMenus 默认菜单列表
* @param { node } 当前选中的node
*/
function getContextMenus(defaultContextMenus, { node }) {
// 这里可以对默认菜单列表进行修改
// 例如根据node的类型来添加不同的菜单项
return [
...defaultContextMenus,
{ label: "默认菜单1", value: "default-1" },
{ label: "默认菜单2", value: "default-2" },
{ label: "默认菜单3", value: "default-3" },
];
}
/**
* 处理选中右键菜单
* @param type 自定义的菜单value值
* @param node 当前选中的node
*/
function handleContextMenuSelect({ type, node }) {
// 自定义处理
}
</script>
vue
<template>
<dft-model-view
:getContextMenus="menuList"
@context-menu-selected="handleContextMenuSelect"
></dft-model-view>
</template>
<script>
export default {
methods: {
/**
* 获取右键菜单列表
* @param defaultContextMenus 默认菜单列表
* @param { node } 当前选中的node
*/
getContextMenus(defaultContextMenus, { node }) {
// 这里可以对默认菜单列表进行修改
// 例如根据node的类型来添加不同的菜单项
return [
...defaultContextMenus,
{ label: "默认菜单1", value: "default-1" },
{ label: "默认菜单2", value: "default-2" },
{ label: "默认菜单3", value: "default-3" },
];
},
/**
* 处理选中右键菜单
* @param type 自定义的菜单value值
* @param node 当前选中的node
*/
handleContextMenuSelect({ type, node }) {
// 自定义处理
},
},
};
</script>
使用内置事件
组件库内置了几种默认菜单项,当遇到内置菜单项的 value 时会自动处理,具体如下表格
value | 事件说明 |
---|---|
dft-only-show-current | 仅显示当前节点 |
export-view | 导出视图 |
focus-to | 模型居中 |
dft-hide-current | 隐藏当前节点 |
dft-add-mark | 添加评论 |