隐藏小部件列时 Tagfield 无法正常工作

Tagfield does not work properly when hiding a widgetСolumn

我有一个带有 windegColumns 的网格。一切正常。 但是,如果您手动隐藏 Num 列,tagfild 小部件将无法正常工作。不设置新值,不删除旧值。未保存的值被重置。 在我的应用程序中,我需要在单击按钮时动态隐藏或显示包含小部件的列。但是当我这样做时,我的 Tagfield 坏了

我的fiddle:https://fiddle.sencha.com/#view/editor&fiddle/3db6

只需隐藏 table 中的 Num 列并尝试更改 Tegfield 值,您将看到

知道为什么会发生这种情况以及如何解决它吗?

看起来使用 dataIndex 而不是 bind 可能存在错误。根据 docs, you get a record property for each row for free, and if it doesn't work, you may have to explicitly set a rowViewModel。无论如何,我都建议在这里使用绑定:

xtype: 'widgetcolumn',
cellWrap: true,
text: 'Phone',
// Notice I took out the dataIndex here
flex: 1,
widget: {
    xtype: 'tagfield',
    // Added bind
    bind: {
        value: '{record.phone}'
    },
    // rest of code

tagfield 列中删除 dataIndex 后,选择新值或在隐藏列后删除或保留都可以正常工作。在未提供 dataIndex 的情况下,可以使用类似的 fiddle。不过,不确定为什么会这样。它可能不会将所选值存储在任何地方并重新加载小部件存储。对组合框进行了同样的尝试,但它只是重置了字段,并且在我们隐藏该列后仍然允许选择值。