使用 Angular2 DevExtreme 显示和隐藏表单元素

Posted

技术标签:

【中文标题】使用 Angular2 DevExtreme 显示和隐藏表单元素【英文标题】:Show and hide form element using Angular2 DevExtreme 【发布时间】:2017-08-24 21:11:03 【问题描述】:

我正在尝试使用 Angular 的 *ngIf 显示和隐藏表单字段,但是,当我这样做时,无论我给出 *ngIf 的值如何,整个表单都不会呈现,并且不会引发任何错误。显然*ngIf 不是要走的路。有没有更 DevExtreme 的方法来做到这一点?我看到文档中有一个visible,但我不想隐藏它。

html

<dx-form id="companyDetailsForm" [(formData)]="company" [showColonAfterLabel]="false">
  <dxi-item dataField="Name">
    <dxi-validation-rule type="required" message="Name is required"></dxi-validation-rule>
  </dxi-item>
  <dxi-item *ngIf="hasParent" dataField="Parent" caption="Parent">
    <dxo-label text="Parent"></dxo-label>
  </dxi-item>
</dx-form>

【问题讨论】:

为什么你的ngIf前面有一个*?我习惯的形式只是ngIf @JustinBurgard,查看此链接以获取有关我正在使用的 * 的信息。 ***.com/questions/40078189/angular-2-why-asterisk 我相信你一定已经检查过了。但我希望你检查 hasParent 的值并确保它没有导致问题。 【参考方案1】:

改用可见属性,*ngIf 在 DX 表单中不起作用。

<dxi-item [visible]="hasParent"

【讨论】:

以上是关于使用 Angular2 DevExtreme 显示和隐藏表单元素的主要内容,如果未能解决你的问题,请参考以下文章

DevExtreme dxGrid 查找列表单显示 id 而不是 DisplayExpr

如何将 Html.DevExtreme().LookupFor 列表绑定到模型

具有服务器端分页/排序的 DevExtreme 数据网格不适用于过滤

Angular Devextreme - 获取当前页面上的总行数

如何使用 Angular Devextreme 自定义我的代码?

Devextreme 推送通知