【发布时间】:2021-10-08 00:17:14
【问题描述】:
我有一个包含各种元素的表单。例如一个组合框,这里是视图部分:
xtype: 'combobox',
fieldLabel : 'Position de la commission',
labelAlign : 'top',
padding:'20 0 0 0',
displayField: 'parametreLibelle',
valueField: 'parametreValeur',
queryMode: 'local',
bind : {
value: '{argumentairePosition}',
store : '{positionsCommissionStore}'
},
reference : 'argumentairePosition',
itemId:'argumentairePosition',
listeners: {
click: {
element: 'inputEl',
fn: 'onArgumentairePositionClick'
}
}
我调用了一个函数来改变组合框中的选定值:
onAmendementReferenceChange: function() {
let me = this;
let amdtId = this.lookupReference('amendementDeReference').value;
me.ajaxRequest({
url: '/eloi/grille/changerAmendementReferenceArgumentaire',
method: 'GET',
params: { amdtId: amdtId },
successFn: function (record) {
let serverResponse = record && record.responseText ? Util.decodeJson(record.responseText) : undefined;
let formulaireData = serverResponse ? serverResponse.data : undefined;
if (formulaireData) {
let vm = me.getViewModel();
let store = vm.get('argumentaireRendreIdentiqueStore').first();
store.set('argumentaireObjet', formulaireData.argumentaireObjet);
store.set('argumentaireTexte', formulaireData.argumentaireTexte);
store.set('argumentairePosition', formulaireData.argumentairePosition); // Breakpoint here
store.set('argumentairePositionRapporteur', formulaireData.argumentairePositionRapporteur);
store.set('argumentaireAmendementId', formulaireData.argumentaireAmendementId);
//me.getView().refreshView();
}
}
});
}
当我在浏览器中注释指示的行放置断点时,我可以看到 store 的值实际上是在变化的(在调试器中观察 store.get('argumentaireObjet') 在行前后),但内容我的表单未在我的页面中更新。我不明白为什么。有什么想法吗?
我尝试了各种技巧来刷新表单,但通常绑定应该可以。我不应该刷新。我错过了什么?
我正在使用 ExtJS 6。
【问题讨论】:
标签: javascript forms extjs binding