ExtJs以字符串开头的id选择组件

Don*_*ong 5 extjs

我需要通过单击按钮动态创建组件.我的限制是:

  1. 它将以一个固定的字符串开头,例如'myComp_',然后是一个随机数字
  2. 任何时候只有一个组件的id以'myComp_xxx'开头

因此,在创建组件之前,我必须检查之前是否有任何创建并将其删除...我的问题从这里开始.Ext.getCmp()需要特定的id.但我只有那个固定的字符串:myComp _...

有没有办法在之前创建组件?

提前致谢,对不起我的英语.

Aru*_*hny 6

我认为你在寻找的是DomQuery.

例如:

Ext.query("*[id^=myComp_xxx]")
Run Code Online (Sandbox Code Playgroud)


Var*_*har 6

对于ExtJs 4.X使用 Ext.ComponentQuery.query('*[id^=myComp_xxx]');

对于ExtJs 3.X,您可以使用以下内容

var el = Ext.query('*[id^=myComp_xxx]');
var cmp = Ext.getCmp(el.id);
Run Code Online (Sandbox Code Playgroud)

或者(这个我没有亲自试过,但我认为它应该有效)如果组件是您可以访问的组件的子代,那么:

var el = parentComp.find("action","btn");

并设置action : btn按钮配置中调用的属性.