扩展如何获得正确的组件
Extjs how to get to the right component
我正在创建一个煎茶触摸xtype,它将包含一个不可见的输入文件和一个按钮;我想在按下按钮时触发弹出窗口以选择一个文件。这是我到目前为止所做的:
config: {
baseCls: 'imageFileField',
layout: 'hbox',
items: [
{
xtype: 'label',
baseCls: Ext.baseCSSPrefix + 'form-label'
},
{
xtype: 'container',
layout: 'hbox',
flex: 1,
items: [
{
xtype: 'filefield',
hidden: true,
listeners: {
afterrender: function (cmp) {
cmp.fileInputEl.set({
accept: 'image/*'
});
}
}
},
{
xtype: 'label',
baseCls: Ext.baseCSSPrefix + 'form-label'
},
{
xtype: 'button',
margin: '5px',
docked: 'right',
ui: 'base_button',
iconCls: '',
width: '50px',
listeners: {
tap: function (view, e, eOpts) {
}
}
}
]
}
]
},
我知道我应该在 tap 方法中放一些东西,导航到该项目,然后触发事件。我尝试使用this.up()/down(...),但我从未能够获得不可见的输入。到达那里的正确"路径"是什么?
您可以使用 Ext.ComponentQuery 查找元素并设置其属性。要找到你的元素,你必须首先为它分配 itemId。
xtype: 'filefield',
hidden: true,
itemId: 'chooseFile',
listeners: {
afterrender: function (cmp) {
cmp.fileInputEl.set({
accept: 'image/*'
});
}
}
然后,可以将以下代码放入按钮的侦听器事件中。
listeners: {
tap: function (view, e, eOpts) {
Ext.ComponentQuery.query("container > #chooseFile").show();
}
}
我已经将所有控件放在控制器中并且它正常工作:-
refs: {
filefield: 'filefield[name="fileField"]',
fileBtn: 'button[name="fileBtn"]'
},
control: {
"fileBtn": {
tap: function() {
this.getFilefield().show();
}
}
}
相关文章:
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- 如何获得聚合物Web组件的组合DOM
- 扩展如何获得正确的组件
- 如何获得一个自定义ExtJS组件来渲染一些基于绑定值的html
- ExtJS组件从afterrender和焦点事件中获得不同的位置
- 如何获得聚合物组件内部元素的实际事件锁定目标
- web组件如何尽快获得自己的样式(宽度等)
- 如何从React JS中的另一个组件获得refs
- 我有一个由itemid定义的组件,我如何在控制器中获得它
- React JS -当localStorage状态改变时,获得一个单独的组件来重新渲染
- Angular通过另一个组件获得新的作用域
- 在ReactJS中如何从父组件获得子数组
- ExtJs -获得页面上的所有组件
- Angular 2 RC5的组件级提供商每次都会获得新的实例
- 关于聚合物,我如何获得一个网页组件'说'到另一个web组件
- 如何从角度组件获得绑定对象的正确更新,将首次使用空对象进行实例化
- 为什么我不能在 React 组件 DidMount 中获得 DOMNode 的样式(scrollHeight)
- 在EmberJS的组件上获得活跃的点击
- 如何获得extjs网格单元组件
- 扩展组件,以获得访问计数在firefox的历史和书签