extjs: How to l set value for combobox when loading

后端 未结 5 861
一向
一向 2021-01-14 11:24
  1. I am looking for a load listener, that when the combobox is up, load will be called and preform an ajax to the s

5条回答
  •  终归单人心
    2021-01-14 11:58

    As a general solution to the problem, I've gone with

    listeners:{
        scope: this,
        afterRender: this.selectFirstComboItem
    }
    

    with

    selectFirstComboItem: function(combo) {
        // This will tell us if the combo box has loaded at least once
        if (typeof combo.getStore().lastOptions !== "undefined") {
            // Grab the first value from the store
            combo.setValue(combo.getStore().first().get(combo.valueField));
        }
        else {
            // When the store loads
            combo.getStore().on("load", function(store, items){
                // Grab the first item of the newly loaded data
                combo.setValue(items[0].get(combo.valueField));
            });
        }
    }
    

提交回复
热议问题