sencha touch :: substr () для itemTpl из LIST - PullRequest
1 голос
/ 09 ноября 2011

как я могу сократить длинные имена внутри объекта списка в сенсорном приложении, когда мой шаблон строится как

itemTpl: '{firstName} {lastName}',

thnx!

РЕДАКТИРОВАТЬ: спасибо за ваши попытки, друзья!Моя проблема в том, что я использую

plugins: [new app.plugins.editableList()], // by WhiteFox AS

, что, похоже, создает проблему.в то время как без плагина простое

{ 
  xtype: 'list',
  ...
  itemTpl: new Ext.XTemplate(
    '<tpl for=".">',
        '<div>{[this.shortenName(values)]}</div>',
    '</tpl>',
    {
        shortenName: function(values) {
            return values.firstName.substr(0, 5);
        }
    }
),
...}  

похоже работает.

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011

Вы можете встроить JavaScript в шаблон. Если у вас есть какая-то функция «усечь», вы можете просто сделать

{[truncate(values.firstName,5) + " " + truncate(values.lastName,5)]}
0 голосов
/ 09 ноября 2011

Почему бы вам просто не сохранить нужное значение в хранилище данных? Если вам нужен только последний инициал, сохраните его в хранилище данных и назовите его:

itemTpl: '{firstName} {lastInitial}',
...