在选择条目后,如何格式化Textfield中显示的Combobox的值

时间:2014-07-08 10:22:17

标签: extjs extjs4 extjs4.2

我们的问题是,我们有一个值类型,其中Id是UUID,可能不为null。首先,我们尝试使用Ext.data.Field defaultValue,它似乎只适用于组合重新创建空字符串的空值。因此,我们将组合的默认值更改为空UUID并打开forceSelection。但是现在我们总是从组合的文本框中的空UUID开始。

从列表中选择记录后,有没有办法格式化组合框的texfield中显示的值?或者有没有更好的解决方案来解决问题,在没有选择值时至少返回一个空的UUID?

1 个答案:

答案 0 :(得分:0)

我不能说你的UUID问题是否有更好的方法,但你可以通过更改渲染模板来格式化文本字段中显示的值

initComponent: function() {
    var me = this;
    me.displayTpl = '<tpl for=".">' +
        '{[(typeof values === "string" ? values : values["' + me.displayField + '"]) === "00000000-0000-0000-0000-000000000000" ? "" : typeof values === "string" ? values : values["' + me.displayField + '"]]}' +
        '<tpl if="xindex < xcount">' + me.delimiter + '</tpl>' +
    '</tpl>';
    me.callParent(arguments);
}