Angular6 +模态+动态组件

时间:2018-10-31 08:02:35

标签: angular typescript modal-dialog components

我正在开发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的变量会根据需要不时地填充(因为表单字段显然不匹配)。

这是正确的方法吗?有更好的方法吗?

0 个答案:

没有答案