@et-modules/project
v1.0.75
Published
@et-modules/project
Downloads
9
Readme
project 组件
引入方式
import IndexView from '@et-modules/project';
使用方式
<IndexView {...props} />
主框架 View 层使用示例
const Main = ({ resource }) => {
const eventBus: IEventBus = useInjectable < IEventBus > IEventBus;
const { type, id } = useMemo(() => resource.uri.getParsedQuery(), [resource]);
const openService = useInjectable(OpenServiceImpl);
// 主框架与业务模块通信的桥梁
const triggerEvent = (data) => {
console.log('接收project模块传递给主框架的data: ', data);
// (若有需求)触发设置项目事件,供其他监听项目设置的模块使用
eventBus.fire(new SetProjectEvent(data));
if (data.payload === null) {
openService.openSingle(new URI(`group.project-manage://?type=module.project-all`));
} else {
openService.openSingle(new URI(`group.project-manage://?type=module.project-info&id=${data.payload.id}`));
}
};
let props: any = { type, triggerEvent, id };
return (
<>
<IndexView {...props} />
</>
);
};
props:type 属性
| 名称 | 描述 | | ----------------------- | ---------- | | module.project-all | 全部项目 | | module.project-archived | 已归档项目 | | module.project-info | 项目信息 |
props:id 属性
- 项目 id
- 用于打开项目信息页,在业务组件中获取项目详情信息时使用
props:triggerEvent
- 主框架与业务模块通信的桥梁
- 业务组件通过调用该方法传递项目信息到主框架对应模块的 View 层
- 主框架接收到项目信息后打开模块对应的业务组件页面