0
export default Ember.Component.extend({
_refreshSortable() {
this.$().sortable('destroy');
this.renderSortable();
},
fakeDataChanged: Ember.observer('fakeData.[]', function() {
Ember.run.scheduleOnce('afterRender', this, this._refreshSortable);
}),
fakeData: [
Ember.Object.create({id: 1, name: 'test'}),
Ember.Object.create({id: 2, name: 'test1'}),
Ember.Object.create({id: 3, name: 'test2'}),
Ember.Object.create({id: 4, name: 'test3'}),
],
actions: {
removeItem(item) {
this.get('fakeData').removeObject(item);
}
},
renderSortable() {
this.$().sortable({
opacity : 0.6,
axis : 'y'
});
this.$().sortable().disableSelection();
},
_renderSortable: Ember.on('didInsertElement', function() {
this.renderSortable();
}),
});
模板:
{{#sortable-ui as |sortable|}}
{{#each sortable.fakeData as |item|}}
<li>{{item.name}}<button {{action "removeItem" item target=sortable}}>x</button></li>
{{/each}}
{{/sortable-ui}}
如果你尝试过了排序是执行删除项目,它要么锁起来的能力删除或删除它不应该的东西。
这是简化的代码,以描述根本问题。
我只能强烈建议您在执行这一纯粹的烬。 – Lux
你是否推荐使用ember支持的html5拖放api?我需要至少支持IE10,这主要是我一直使用jQuery UI来完成浏览器支持的原因。我没有太多的D&D API经验。 – tookien
是或更好地使用现有的[addon](http://jgwhite.co.uk/ember-sortable/demo/)。 – Lux