我正在开发CRUD应用程序。
对于每个bean(发票,票据,供应商等),我都有一个组件来显示带有经典3个选项的对象列表:查看,编辑,删除更多经典的“添加”按钮。
当我单击一个动作按钮时,我会打开一个模态。在此模式中,我有一个bean-detail-component,其形式显示组件详细信息。
如果我单击了“查看”按钮,则模态仅显示“关闭”按钮,如果我单击了“修改”按钮,则模态将显示我“应用”和“取消”按钮,如果单击“添加”按钮,表单为空,模态显示“添加”和“取消”按钮。模态标题也会根据上下文而变化。
模态的行为总是相同的(不管我要修改的bean的类型如何。
页面的当前结构是这样:
component1-list.html
- DataTable
- modal start
--<app-component1-detail></app-component1-detail>
- modal end
这迫使我在每个组件中复制模式按钮/标题逻辑。
是否可以创建一个管理模式的组件(所有组件都相同)并动态接受要在其中显示的表单类型作为参数?
我曾想过在模态组件中插入类似于以下内容的东西:
modal-component.html
-modal start
+ *ngif <app-component1-detail></app-component1-detail>
+ *ngif <app-component2-detail></app-component1-detail>
+ *ngif <app-component3-detail></app-component1-detail>
+ *ngif <app-component4-detail></app-component1-detail>
-modal end
通过将参数传递给模态组件,可以选择要呈现的形式。
但是我还应该期望在模式.ts中,每个bean的变量会根据需要不时地填充(因为表单字段显然不匹配)。
这是正确的方法吗?有更好的方法吗?