如何重置 Clarity 表单的错误状态?

How to reset error state of Clarity forms?

如何重置新 Clarity 0.13 表单的错误状态?我正在使用反应式表单,我想完全重置表单。虽然我可以轻松地重置 FormGroup,但我不知道如何摆脱例如失去所需空输入的焦点时触发的错误状态。我一直在 Clarity 代码中寻找未记录的功能,但在这里找不到任何有用的信息。

这是一个 stackblitz,您可以在其中重现该问题:https://stackblitz.com/edit/clarity-light-theme-v013-6s2qtq

  1. 点击输入
  2. 在输入框外单击
  3. 单击 "Reset Form" 按钮
  4. 输入仍然被标记为无效。好吧,实际上是这样。但是我需要原始状态才能重用表格。

不幸的是,我们在 Clarity 中还没有对此的支持。你现在可以处理这个问题的方法虽然不优雅,但是在表单上放置一个 ngIf 并且基本上同时重置表单和 DOM 。这是有效的,因为它完全破坏了 DOM 和表单状态,让你从头开始。

这是一种解决方法,如果您想关注它,我们会发布一个问题来跟踪此功能。 https://github.com/vmware/clarity/issues/2678

演示:https://stackblitz.com/edit/clarity-light-theme-v013-form-reset-workaround?file=src/app/app.component.ts