我正在尝试将 dijit.form.Select 的值链接到 ListController。我让它与 FilteringSelects 和 TextBoxes 一起使用,但它不适用于常规 Selects。
我正在为记录列表编写编辑器。我正在使用 ListController 来表示记录列表,并且我希望我的所有小部件都能够编辑“当前记录”。因此,每个小部件都绑定到 ListController 中的不同属性。然后我将能够在不同的记录之间切换,但使用相同的小部件来编辑它们。
控制器当然知道哪个记录是当前记录,并且一些小部件可以工作。因此,当我使用 TextBox 小部件编辑 Barcode 字段时,ListController 会在正确的记录上设置值。
但是,我无法将 Select 小部件的值与 ListController 中的预期属性挂钩。
我尝试将值: mvc.at(controller, 'field') 放入构造函数中,并在调用后直接设置它,但没有骰子。有任何想法吗?
require( [ 'dijit/form/Select', ], function( Select ) {
var testSelect = new Select( {
value: mvc.at( controller, 'field' ), // controller is a ListController
store: store,
searchAttr: "description",
labelAttr: "description"
}, 'TestSelect' );
} );
require( [ 'dijit/form/Select', ], function( Select ) {
var testSelect = new Select( {
store: store,
searchAttr: "description",
labelAttr: "description"
}, 'TestSelect' );
testSelect.set( 'value', mvc.at( controller, 'field' ) );
} );
mvc.at() 实际上是如何工作的?它似乎没有将 value 属性设置为 mvc.at 值,即使在可以工作的小部件上也是如此。小部件代码内部似乎有一些眨眼和轻推。关于 _refs 的东西?