添加模态组件
过程
- 创建新的角度组件。
- 必须将新创建的组件注册为功能部件模块的
@NgModule修饰符的entryComponents属性的一部分。@NgModule({ imports: [ FormsModule, CommonModule, TranslateModule, SharedModule], entryComponents: [ TransferOrderAddTrackingNumberComponent ], declarations: [TransferOrderAddTrackingNumberComponent], exports: [], providers: [TransferOrderSummaryExtnRTConfig] })注: 需要在extension.module.ts文件中导入TransferOrderAddTrackingNumberComponent。 - 在 store-customization-impl.ts 文件中,根据功能部件更新相应的
ModalComponents属性。 例如,transferInventoryModalComponents是 transfer-inventory 模块的属性。用于为 transfer-inventory 模块定义新模态组件的 store-customization-impl.ts 文件的样本代码如下所示:import { StoreCustomizationBase } from '@sim-core/store-customization-base'; // tslint:disable-next-line:max-line-length import { TransferOrderAddTrackingNumberComponent} from './features/transfer-inventory/transfer-order-add-tracking-number/transfer-order-add-tracking-number.component'; export class StoreCustomizationImpl extends StoreCustomizationBase { transferInventoryModalComponents = [TransferOrderAddTrackingNumberComponent]; } - 使用共享模块中的
ISFNagModalService服务在窗口模态中打开组件。样本代码如下所示:import {TransferOrderAddTrackingNumberComponent} from '../transfer-order-add-tracking-number/transfer-order-add-tracking-number.component'; @Injectable() export class TransferOrderSummaryExtnRTConfig { constructor(private modalService: NgbModal, private nagModalService: ISFNagModalService, ) public openAddTrackingNumberModal(entityModel, activeroute) { const modalRef = this.modalService.open(TransferOrderAddTrackingNumberComponent, {}); modalRef.componentInstance.entityModel = entityModel; modalRef.result.then(data => { if (UIUtilsService.isNotVoid(data) && data['refreshParentScreen']) { this.relatedTasksService.sendMessage(true); } }); } }