如何在ExtJS中设置单字段脏

问题:我们在表单上切换字段。当显示secondField而不是firstField时,将更改表格。但是secondField仍被标记为不脏,因为两个字段均保持不变。显示secondField应该总是使它和表单(模型)变脏。

研究:setDirty()方法是在整个记录上完成的,setValue()的作用与预期的一样,但闻起来像hack,不能用于各种字段类型(文本字段,组合框)。

问题:如何手动设置更改后的单个表单字段状态以调用保存其数据?

绿龙

您正在将数据状态与表单可视化混合在一起。默认情况下,“显示字段”与数据无关,因此您需要显式创建一个字段。这可以通过在切换时更改某些数据来完成,或者以其他方式(在更改数据时切换)来完成。

例如,在选中/取消选中代表一个表单数据的复选框字段时,可能会发生切换(另请参见fiddle):

Ext.create('Ext.form.Panel', {
    viewModel: {
        type: 'default'
    },
    items: [
        {
            xtype: 'checkbox',
            reference: 'toggle',
            itemId: 'toggle',
            boxLabel: 'Toggle',
            hidden: true
        },
        {
            xtype: 'button',
            text: 'Toggle',
            enableToggle: true,
            toggleHandler: function() {
                var form = this.up('form'),
                    checkbox = form.child('#toggle');
                checkbox.setValue(!checkbox.getValue());
                console.log(form.isDirty() ? 'Dirty!' : 'Not dirty');
            }
        },
        {
            xtype: 'textfield',
            name: 'firstField',
            fieldLabel: 'First Field',
            bind: {
                hidden: '{toggle.checked}'
            }
        },
        {
            xtype: 'textfield',
            name: 'secondField',
            fieldLabel: 'Second Field',
            bind: {
                hidden: '{!toggle.checked}'
            }
        }
    ],
    renderTo: Ext.getBody()
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 redux 表单字段组件中设置名称

来自分类Dev

如何将动态表单字段设置为脏的或有角的?

来自分类Dev

如何在extjs6的文本表单字段中添加工具提示

来自分类Dev

Angular2 Karma测试-如何使表单字段“脏”?

来自分类Dev

如何在Django ModelForm中设置基于用户的表单字段选择(使用django-allauth)

来自分类Dev

如何在Sonata Admin Bundle日期表单字段中设置最低年份值

来自分类Dev

如何在Magento中为表单字段设置默认选择值?

来自分类Dev

如何在Django ModelForm中设置基于用户的表单字段选择(使用django-allauth)

来自分类Dev

如何使用 ngModel 在隐藏表单字段中设置值?

来自分类Dev

如何在 extjs 或 sencha 中的日期时间字段中设置时间

来自分类Dev

Angular.js:提交时将表单字段设置为“脏”

来自分类Dev

如何在树枝模板中隐藏表单字段?

来自分类Dev

如何在React中自动保存多个表单字段?

来自分类Dev

如何在游戏框架中验证表单字段

来自分类Dev

我如何在Flutter中验证单个表单字段

来自分类Dev

如何在表单字段中输入变量内容

来自分类Dev

如何在Sensio Generator Bundle中遍历表单字段

来自分类Dev

如何在游戏框架中验证表单字段

来自分类Dev

如何在React JS中为来自api的动态表单字段设置一般onchange?

来自分类Dev

如何在Symfony2中为两个输入所呈现的表单字段设置属性

来自分类Dev

ExtJS 4设置表单字段在表单内的位置

来自分类Dev

如何设置表单字段值-Django

来自分类Dev

在AngularJS中按表行获取所有脏表单字段

来自分类Dev

在JSON输出中对Extjs表单字段进行分组

来自分类Dev

如何在angularjs表单字段中将日期和时间设置为默认值

来自分类Dev

如何在AngularJS中使用Controller动作设置表单字段的值

来自分类Dev

如何在acrobat中链接表单字段,以便它们表现为单个字段

来自分类Dev

如何在 Symfony 2 中为两个模型字段创建单个表单字段?

来自分类Dev

如何在extjs中以黄色突出显示必填字段

Related 相关文章

  1. 1

    如何在 redux 表单字段组件中设置名称

  2. 2

    如何将动态表单字段设置为脏的或有角的?

  3. 3

    如何在extjs6的文本表单字段中添加工具提示

  4. 4

    Angular2 Karma测试-如何使表单字段“脏”?

  5. 5

    如何在Django ModelForm中设置基于用户的表单字段选择(使用django-allauth)

  6. 6

    如何在Sonata Admin Bundle日期表单字段中设置最低年份值

  7. 7

    如何在Magento中为表单字段设置默认选择值?

  8. 8

    如何在Django ModelForm中设置基于用户的表单字段选择(使用django-allauth)

  9. 9

    如何使用 ngModel 在隐藏表单字段中设置值?

  10. 10

    如何在 extjs 或 sencha 中的日期时间字段中设置时间

  11. 11

    Angular.js:提交时将表单字段设置为“脏”

  12. 12

    如何在树枝模板中隐藏表单字段?

  13. 13

    如何在React中自动保存多个表单字段?

  14. 14

    如何在游戏框架中验证表单字段

  15. 15

    我如何在Flutter中验证单个表单字段

  16. 16

    如何在表单字段中输入变量内容

  17. 17

    如何在Sensio Generator Bundle中遍历表单字段

  18. 18

    如何在游戏框架中验证表单字段

  19. 19

    如何在React JS中为来自api的动态表单字段设置一般onchange?

  20. 20

    如何在Symfony2中为两个输入所呈现的表单字段设置属性

  21. 21

    ExtJS 4设置表单字段在表单内的位置

  22. 22

    如何设置表单字段值-Django

  23. 23

    在AngularJS中按表行获取所有脏表单字段

  24. 24

    在JSON输出中对Extjs表单字段进行分组

  25. 25

    如何在angularjs表单字段中将日期和时间设置为默认值

  26. 26

    如何在AngularJS中使用Controller动作设置表单字段的值

  27. 27

    如何在acrobat中链接表单字段,以便它们表现为单个字段

  28. 28

    如何在 Symfony 2 中为两个模型字段创建单个表单字段?

  29. 29

    如何在extjs中以黄色突出显示必填字段

热门标签

归档