Vue.js 使用Vue可拖动的计算阵列
我在这里使用vuedraggable组件: 我是这样设置的:Vue.js 使用Vue可拖动的计算阵列,vue.js,vuejs2,Vue.js,Vuejs2,我在这里使用vuedraggable组件: 我是这样设置的: <draggable v-model="filteredItems"> <div class="item" v-for="item in filteredItems">{{item.name}}</div> </draggable> computed: { get: function() { return thi
<draggable v-model="filteredItems">
<div class="item" v-for="item in filteredItems">{{item.name}}</div>
</draggable>
computed: {
get: function() {
return this.items.filter(item => {
if(item.category_id == this.activeCategory.id) return true;
})
},
set: function(newValue) {
console.log(newValue); // This new value is the new data I want.
return newValue;
}
}
我认为返回newValue
可以正确设置数据,但只要拖放完成,它就会恢复到原来的值
这对非计算变量非常有效,newValue
中的数据正是我所需要的,我不完全理解如何将computed属性设置为newValue
有什么想法吗?我尝试了几种方法来重置计算属性,但没有一种有效。返回新值不会(重新)设置
数据项,但将“本地”项(在您的情况下,项)设置为该项将有效
计算:{
过滤数据:{
//吸气剂
设置(新值){
//这条线
this.items=newValue;
}
}
}
p.S.不得不删除我以前愚蠢的回答。我一定是喝醉了,错过了本地项目已经在要过滤的数据中的事实 返回新值不会(重新)设置数据
项,但会将“本地”项(在您的情况下是项
)设置为它
计算:{
过滤数据:{
//吸气剂
设置(新值){
//这条线
this.items=newValue;
}
}
}
p.S.不得不删除我以前愚蠢的回答。我一定是喝醉了,错过了本地项目已经在要过滤的数据中的事实 是的,现在工作得很好,我想如果我更新这个。items,它会删除未过滤的项,但它没有这样做,我想我不完全理解setter是如何工作的,但它工作得很好now@Jordash它不会删除它们,这就是为什么我提到“本地”数据,计算出来的是副本。是的,现在工作得很好,我想如果我更新这个。它会删除未过滤的项目,但它没有这样做,我想我不完全理解setter是如何工作的,但它工作得很好now@Jordash它不会删除它们,这就是为什么我提到“本地”数据,计算出的是副本。