XTemplate中的空值

时间:2012-10-01 17:57:46

标签: extjs extjs4 extjs4.1

4.1.1升级后,我注意到XTemplate解释空值的方式发生了奇怪的变化。 以下是XTemplate执行http://jsfiddle.net/dbrin/AyJ9v/3/的示例(注意字段2值)。 这里是相同的,但由Template类解释:http://jsfiddle.net/dbrin/AyJ9v

当传递给XTemplate的数据包含空值时,字符串“null”将打印到输出。

如果这是4.1.1中的错误,如果我需要使用XTemplate,解决方法是什么?

感谢。

更新:错误已在4.1.2中修复

2 个答案:

答案 0 :(得分:1)

此解决方法可行(此处为JsFiddle):

var tpl = new Ext.XTemplate("<p>Field1: {f1}, Field2: {[this.outputField( values.f2 )]} </p>",{
    outputField: function( aValue )
    {
        return aValue == null ? '' : aValue;                
    }
}).compile();

答案 1 :(得分:0)

如果你想让条件内联。

var tpl = new Ext.XTemplate("<tpl if='f2 != null'>{f2}</tpl>" ,
<tpl if='f2 == null'></tpl>").compile();