ExtJS TriggerField设置值

时间:2014-10-17 13:14:49

标签: javascript extjs

我创建了SelectOne组件,扩展了TriggerField,设置onTriggerClick以打开新窗口,网格就OK,或者dblclick mast设置triggerfield值,如下所示:

val = {
  id: "1234",
  text: "Selected value"
}

我的问题是,如何将getValue()上的 id 或表单提交和文本返回到triggerfield的输入字段

1 个答案:

答案 0 :(得分:0)

实现目标的一种方法是覆盖CustomTrigger的rawToValuegetSubmitValue方法,并添加自定义值以保存网格中的选定信息。

您可以像这样定义触发器:

Ext.define('Ext.ux.CustomTrigger', {
    extend: 'Ext.form.field.Trigger',
    alias: 'widget.customtrigger',
    config : {
        option : null
    },
    // override rawToValue method
    rawToValue: function() {        
       return  this.getOption();
    }, 
    // override getSubmitValue method
    getSubmitValue : function () {
        return this.getOption()
    }
    // override onTriggerClick
    onTriggerClick: function() {
       ....
    }
}

在您的网格上,ok按钮和itemdblclick处理程序应使用triggerfield.setOption()方法保存所选值并使用triggerfield.setValue('Selected Value'),以便触发字段显示&#34; Selected Value&#34;。< / p>

现在,当您致电triggerfield.getValue()时,您将获得与triggerfield.getOption()相同的值,但会显示&#34;所选值&#34;

我创造了这个小提琴:https://fiddle.sencha.com/#fiddle/c1c所以你可以更好地理解这一点。