У меня есть dataview, который заполняется с использованием магазина и шаблона, поэтому процесс динамический. Затем я хочу, чтобы каждый из контейнеров Divs (см. Шаблон) перетащил и использовал следующий код. Я бы ожидал, что только контейнерные divs (image + name) будут перетаскиваться, но вместо этого весь DataView перетаскивается. Интересно, что я делаю неправильно?Sencha Touch сделать динамические элементы Dataview draggable
Ext.define('MyApp.view.allImages', { extend: 'Ext.dataview.DataView',
xtype: 'cams',
requires: [
'MyApp.store.images'
],
config: {
title: 'Test',
store: 'images',
baseCls: 'camera-list',
itemTpl: [
'<div id="camimage">',
'<div class="image" style="background-image:url({fullimage})"></div>',
'<div class="name">{address}</div>',
'</div>'
].join(''),
records: null,
items: [
{
xtype: 'toolbar',
docked: 'top',
title: 'Gainesville'
},
{
xtype: 'toolbar',
docked: 'bottom',
items: [
{
xtype: 'button',
text: 'Path1'
},
{
xtype: 'button',
text: 'Path2'
},
{
xtype: 'button',
text: 'Path3'
}
]
}
]
},
initialize: function() {
this.callParent(arguments);
//get the divs that we want to make draggable
var images = this.element.select("div[id='camimage']");
Ext.each(images.elements, function (imageElement) {
imageElement.draggable = true;
});
}
Спасибо, что решена часть проблемы, но поведение целого, содержащего перемещение DataView, было разрешено путем установки прокручиваемой конфигурации в значение false. конечно, это имеет огромные побочные эффекты, но еще одно сражение, так как я думаю, что Sencha перетаскиваемый код немного слаб –