我创建了SelectOne组件,扩展了TriggerField,设置onTriggerClick以打开新窗口,网格就OK,或者dblclick mast设置triggerfield值,如下所示:
val = {
id: "1234",
text: "Selected value"
}
我的问题是,如何将getValue()上的 id 或表单提交和文本返回到triggerfield的输入字段
答案 0 :(得分:0)
实现目标的一种方法是覆盖CustomTrigger的rawToValue
和getSubmitValue
方法,并添加自定义值以保存网格中的选定信息。
您可以像这样定义触发器:
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所以你可以更好地理解这一点。