请参阅以下小提琴: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标签 - 我想清除它。
关于为什么会出现这种行为的想法非常受欢迎。
答案 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}'
}
}