如何在extjs组合中获得dispayfield?

Vic*_*tor 6 extjs

在extjs组合框中,我们有valueField, displayField.有一个getValue().但是没有getDisaplay().那么如何捕获差异字段的名称?

Das*_*alo 11

那么getRawValue方法呢?

Ext.getCmp('combo').getRawValue();
Run Code Online (Sandbox Code Playgroud)


Sea*_*son 2

使用该值从存储中获取记录,并从那里获取显示值。

抽象地,您可以使用此代码,但您可以用某些变量替换已知值以使其更具可读性:

getComboDisplay = function(combo) {
    var value = combo.getValue();
    var valueField = combo.valueField;
    var record;
    combo.getStore().each(function(r){
        if(r.data[valueField] == value){
            record = r;
            return false;
        }
    });

    return record ? record.get(combo.displayField) : null;
}
Run Code Online (Sandbox Code Playgroud)

  • OP应该接受@Dasha_Salo的答案,它比我的简单,并且看起来工作原理相同。 (2认同)