与Sencha Touch中相同级别的数组

XTemplate Same level of array in Sencha Touch

本文关键字:数组 Sencha Touch      更新时间:2023-09-26

给定两个(或更多)相同长度的数组,如何在ExtJS XTemplate中表示值和所需的输出格式?例如,我的输入数据看起来类似于:

var data = {
    name        : 'xxx',
    rowTitleArr : ['1','2','3'],
    colTitleArr : ['a','b','c']
};

…我希望输出的格式是:

a
2 b
3 c

您可以使用模板中的实用程序函数将输入数据映射到更易于管理的范围:

{
    // component config ...
    data: data,
    tpl: [
        '<tpl for="this.merge(values.rowTitleArr, values.colTitleArr)">',
            '{row} {col} <br/>',
        '</tpl>',
        {
            merge: function(a1, a2){
                var len = Math.min(a1.length, a2.length);
                    for(var i=0, arr=[]; i<len; i++)
                        arr.push({ row: a1[i], col: a2[i] });
                return arr;
            }
        }
    ]
}

»小提琴