Установите пользовательское значение (и получите его) для каждого элемента (XTemplate) Ext.view.View - PullRequest
0 голосов
/ 17 декабря 2011

Я хотел бы добавить пользовательское значение для каждого элемента Ext.view.View, это имя окна, которое должно открываться при нажатии на элемент.

Я читаю APIДокументы, и я нашел только, как установить пользовательскую функцию, это проблема, если я также установить пользовательский атрибут?

Спасибо за любое предложение

Что я читаю: http://docs.sencha.com/ext-js/4-0/#!/api/Ext.XTemplate

Редактировать 1:

Ext.define('MyApp.view.desktop.Icons', {
  extend: 'Ext.view.View',
  alias : 'widget.iconsdataview',

  tpl: Ext.create('Ext.XTemplate',
    '<tpl for=".">',
    '<div class="mfo-view">',
    '<img src="{image}" alt="{image}" />',
    '<p>{title}</p>',
    '</div>',
    '</tpl>'
  ),

  itemSelector: 'div.mfo-view',
  store: 'Icons',
  style: 'margin: 2em;',
  overItemCls: 'mfo-view-over',
  trackOver: true
});

Я хотел бы сделать что-то вроде этого:

tpl: Ext.create('Ext.XTemplate',
        '<tpl for=".">',
        '<div class="mfo-view">',
        '<img src="{image}" alt="{image}" />',
        '<p>{title}</p>',
        '</div>',
        '</tpl>',
        mycustomproperty: '{property}'
      ),

, а затем на событие itemdblclick (псевдокод)

itemdblclick(obj, ...) {
    openMyWindow(obj.mycustomproperty);
 }

Надеюсь, это поможет

Ответы [ 2 ]

0 голосов
/ 18 декабря 2011

Кажется, что то, что я хочу, невозможно, потому что объекты, созданные шаблоном, являются htmlelement, и вам нужно сделать Ext.get, чтобы сделать их элементами, чтобы фактически использовать их как объекты ExtJS.

Я решил, получив доступхранилище с индексом метода itemdblclick.

Edit 1:

Более того, вы можете получить доступ к элементу с параметром record , не используяиндекс.

0 голосов
/ 17 декабря 2011

Я не слишком много работал в EXTJS 4.o, в основном в 3.3, но я верю, что вы можете сделать следующее:

tpl: Ext.create('Ext.XTemplate',
        '<tpl for=".">',
        '<div class="mfo-view">',
        '<img src="{image}" alt="{image}" />',
        '<p>{title}</p>',
        '</div>',
        '</tpl>',
        { mycustomproperty: '{property}'
}
      ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...