【发布时间】:2022-07-23 01:09:05
【问题描述】:
我正在尝试创建一个显示来自服务器的数据的表。删除方法有效,但只有在刷新页面后才会显示在表格上。删除项目后如何强制组件重新渲染? this.$forceUpdate 不起作用。
这是删除函数:
async deleteProduct(id) {
const resp = await fetch(`http://localhost:3005/products/${id}`, {
method: "DELETE",
});
}
这就是桌子:
<table border="1">
<tr>
<th>Product</th>
<th>Title</th>
<th>Price</th>
<th>Options</th>
</tr>
<tr v-for="product in products" :title="product.description">
<td><img :src="product.image" :alt="product.title"/></td>
<td>{{ product.title }}</td>
<td>{{ `${product.price}$` }}</td>
<td>
<button @click="toggleEdit(product._id)">edit</button>  
<button @click="deleteProduct(product._id)">delete</button>
</td>
</tr>
</table>
【问题讨论】:
-
我怀疑你必须调用填充
products的函数。 Vue 不知道fetch修改了后端的任何内容。
标签: javascript vue.js fetch-api vue-reactivity