gpt4 book ai didi

extjs4 - 在 Controller EXTJS 4 中查看引用

转载 作者:行者123 更新时间:2023-12-04 15:23:42 25 4
gpt4 key购买 nike

我无法在 Controller 中获得组合框值。组合框 View 的getter方法返回

function i(){
return this.constructor.apply(this,arguments)||null
}

而不是 View 对象实例。如果我使用
var combo=this.getColumnTypeComboView().create()

然后我没有得到组合框的选定值 combo.getValue() .

最佳答案

要在 Controller 中获取 View 引用,只需使用 getView() Controller 类中的方法。要在 View 和 Controller 之间创建连接,请确保遵循 MVC 应用程序架构原则,发现 here

var view = this.getView('Contact'); //=> getView( name ) : Ext.Base

如果组合框是您的 Controller 负责的 View 的项目,则使用 control方法也来自 Controller 类。
Ext.define('My.controller.Contact', {
extend: 'Ext.app.Controller',
views: ['Contact'],
init: function() {

//reference the view
var view = this.getView('Contact');

//reference the combobox change event
this.control({
'mywin combobox': {
change: this.onChangeContinent
}
});

},
onChangeContinent:function (field, value, options) {

//here you can get combobox component and its value
Ext.Msg.alert('Continent', value);
}
});

这是一个 fiddle example

编辑:

要从另一个组件引用一个组件,您可以使用 Controller ref方法,像这样:
refs: [{
ref: 'combo',
selector: 'mywin combobox'
}]

这是一个 fiddle example 2

关于extjs4 - 在 Controller EXTJS 4 中查看引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17464392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com