ExtJS:在绑定表单上更新HTML问题

时间:2017-08-02 19:09:25

标签: extjs binding

请参阅以下小提琴:Binding HTML Issue

当您从左侧面板的组合框中选择一行时,它会打印绑定值以及右侧窗体中的一些HTML。当您单击标记为“测试更新”的按钮时,它首先清除下拉列表中的绑定值,然后应该更新HTML以清除它。

问题是,<CheckBox Name="ArtikelGruppeChkBox" Content="Artikel gruppe" /> <TextBox Margin="0,29,365,173" Text="{Binding ArtikelGruppe}" IsEnabled="{Binding ElementName=ArtikelGruppeChkBox,Path=IsChecked,TargetNullValue=false }" /> 中引用的displayfield的更新无法按此顺序运行。如果我在小提琴中首先进行更新,它会起作用,但是如果我在我的实际应用程序中尝试此操作,则它不会(在我的应用程序中Ext.ComponentQuery.query上的setValue可以正常工作,但随后离开HTML标签 - 我想清除它。

关于为什么会出现这种行为的想法非常受欢迎。

1 个答案:

答案 0 :(得分:1)

你可能想要使用一个公式,它简化了它背后的逻辑。

viewModel: {
    formulas: {
        foo: function(get) {
            var sel = get('peopleComboRef.selection');

            return sel ? ('HTML Label: ' + sel.get('name')) : '';
        }
    }
},

然后将此公式绑定到您的displayfield

{
    xtype: 'displayfield',
    itemId: 'displayTest',
    bind:  {
        html: '{foo}'
    }
}

小提琴:https://fiddle.sencha.com/#fiddle/24f5&view/editor