在我的vue应用程序中,我从我的应用程序接口中获取了一些JSON,然后我计算返回的数据并通过它的属性之一对其进行排序,然后我想在客户端每次更新该属性时重新排序它,我认为向输入添加`v-model="tag.weight“就足够了,但显然不够?我做错了什么?
<div class="mt-6" v-if="this.sortedTags">
<div class="w-full flex justify-between pb-2 border-white">
<div class="w-1/3 p-4 font-black">Tag</div>
<div class="p-4 font-black">Active</div>
<div class="p-4 font-black">Weight</div>
</div>
<div class="w-full flex justify-between" v-for="tag in this.sortedTags" :key="tag.id">
<div class="w-1/3 p-4">{{ tag.tag }}</div>
<div class="p-4"><input type="checkbox" /></div>
<div class="p-4"><input type="text" v-model="tag.weight" size="3" class="text-black"/></div>
</div>
</div>
computed: {
...mapState(['admin']),
sortedTags() {
return this.admin.tags.sort(function(a, b) {
a.weight - b.weight;
});
}
}我所希望的是: 1)如果在tag.weight绑定的权重字段中输入一个数字,它将根据该输入对其进行排序,以及2)当我向数据中添加新对象时,它将对其进行排序。
发布于 2020-06-18 07:39:06
当省略return时,我得到了类似的结果,它会给你响应,但重新排序不起作用。因此,只需使用return a.weight - b.weight;而不是简单的a.weight - b.weight;
https://stackoverflow.com/questions/62439743
复制相似问题