自动获取extJS标记字段中的下拉列表

时间:2017-06-12 09:37:31

标签: javascript extjs

有没有办法可以自动点击tagfield的下拉箭头。这是我的小提琴,我想要一旦我加载页面我的下拉点击。

我的小提琴https://fiddle.sencha.com/#view/editor&fiddle/219s

5 个答案:

答案 0 :(得分:1)

如果您不需要物理点击,只需要生成的打开菜单,pickerfield会提供打开选择器菜单的功能expand。您可以从afterrender事件中调用它,例如:

listeners:{
    afterrender: function(tagfield) {
        tagfield.expand();
    }
}

答案 1 :(得分:1)

对于

   "$(".x-form-arrow-trigger").click()" 

要工作,你需要使用jquery。

如果你不使用jquery,你可以使用JS版本:

 document.getElementsByClassName("x-form-arrow-trigger").click();

一个好主意是将其称为" onload功能"像这样

window.onload = function() {
    document.getElementsByClassName("x-form-arrow-trigger").click();
};

所以当窗口的加载事件触发时,点击下拉按钮。

答案 2 :(得分:0)

试试这个:

 $(".x-form-arrow-trigger").click()

答案 3 :(得分:0)

如果要在加载文档后执行操作,ExtJ中有几个选项:

Ext.onReady

您可以将功能传递给Ext.onReady。在文档加载后执行此回调函数。

Ext.onReady( () => {
    Ext.ComponentQuery.query('tagfield:first').pop().expand();    
});

事件监听器

另一种选择是使用afterrending事件。

tagfieldInstance.on('afterrender', (cmp) => cmp.expand());

//or

{
    xtype: 'tagfield',
    fieldLabel: 'Select a Show',
    store: shows,
    displayField: 'show',
    valueField: 'id',
    queryMode: 'local',
    filterPickList: true,
    listeners: {
        afterrender: function (cmp) {
            cmp.expand();
        }
    }
}

答案 4 :(得分:0)

你可以试试onTrigger点击这里是fiddle