【发布时间】:2013-07-28 20:00:38
【问题描述】:
在 Extjs 4.2 中为组合框设置值的正确方法是什么。在 Extjs 4.2 之前,带有远程存储的组合框是使用以下代码设置的。
var book= Ext.create('Test.model.Book', bookValues);
bookCombo.store.loadRawData([book]);
bookCombo.setValue(book.getId());
bookCombo.setRawValue(book.get('name'));
bookCombo.displayTplData = book.data;
bookCombo.fireEvent('change', bookCombo, book.getId());
但是从 4.2 开始,上面这段代码并没有正确设置远程组合的值。
【问题讨论】:
-
不设置值怎么办?该字段仍然为空?它显示ID而不是名称?还是一开始有效,然后在扩展组合时失去价值?
-
它曾经在 4.2 之前没有 loadRawData 行的情况下工作。我想知道4.2之后是否需要加载数据并设置值?这是否是正确的方法。
-
这不是一个简单的问题,事实上......通常的方法是等待组合商店加载后再显示它(例如参见this question)。但是你的也很有趣......你如何获得你试图在商店中加载的书籍模型?您的组合商店是否应该预先加载?偏远吗?
-
存储在远程,在编辑表单时,需要从数据中设置值。