【问题标题】:One form by row (fields for every column) with buttons for each: how to manage the dirty state?逐行(每列的字段)一个表单,每个表单都有按钮:如何管理脏状态?
【发布时间】:2018-01-26 12:09:09
【问题描述】:

我想处理我表中每一行的脏状态。不幸的是,在 a 周围添加一个表单会破坏表格,并且我无法在其中创建它,因为每个不同的列都有一个字段。我每行的最后一列包含按钮:删除和更新。仅当该行的某个字段被弄脏时才会显示更新。

不知何故,它已经工作了,但我正在检查该行上每个字段的每个 .pristine (#name="ngModel")。我的行是通过*ngFor="let row of rows" 之类的东西创建的。我相信最好在表单上检查.dirty.pristine,而不是检查每个元素。

另外,如果我真的要更新,我无法删除那个 .dirty 状态(我尝试通过从数组中删除并重新添加来替换该行的数据,但它仍然是脏的)。

有什么技术可以解决这个问题吗?

【问题讨论】:

    标签: javascript angular angular2-forms angular4-forms


    【解决方案1】:

    您可以在每一行周围使用 ngModelGroup。然后您可以检查该组的脏标志。

    【讨论】:

    • 所以你的意思是整个表格的表格,然后每行一个 ngModelGroup?
    • 谢谢,那我会调查的。我很惊讶我看不到任何关于在其中包含表格和动态表单的示例或文章;我几乎想知道我是否做得对,或者我是否应该以完全不同的方式来做。
    • 实际上,我认为不可能在每一行都使用 ngModelGroup 来做我需要的事情。如何使用它处理每一行的更新?更新将无法提交 ngModelGroup 的内容,因为它必须链接到整个表单。我可以手动处理按钮,但是我无法更改 ngModelGroup 的 .dirty 值...
    • 如果您可以提供一个 plunker 演示您正在尝试做的事情的缩小版本,我们可能会提供进一步的帮助。
    猜你喜欢
    • 1970-01-01
    • 2012-02-03
    • 2015-04-23
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多