【发布时间】:2020-12-04 11:06:45
【问题描述】:
我有一个函数,每当上传文件时我都会调用它以刷新保存文件的表。
response.data 会返回正确的数据,但我的表格没有反映它。知道我可以做些什么来强制更新我的表格以显示新条目吗?
如果我刷新页面,数据就会正确返回。
function GetFileList(intID) {
//$("#fileuploadstbl").empty();
var ItemsVue = new Vue({
el: '#fileUploadContent',
data: {
items: []
},
mounted: function () {
var self = this;
axios.get("getUploads.ashx")
.then(response => {
self.items = response.data
}, function (err) {
console.log('error');
console.log(err.status);
console.log(err.response.status);
})
.catch(err => {
console.log('error');
console.log(err.status);
});
}
});
$("#fileUploadContent").show();
}
这就是我绑定<tr>的方式:
<tr
v-for="item in items" class="tddata"
v-bind:data-ID="item.ID"
v-bind:data-Uploadid="item.Uploadid"
>
<td>{{item.Filename}}</td>
<td
style="cursor: pointer;text-align:center;"
v-on:click="ViewFile(item.Filepath,item.Filename)"
>
View File
</td>
<td
style="cursor: pointer;text-align:center;"
v-on:click="DeleteFile(item.ID,item.guid,item.Filepath,item.Filename)"
>
View File
</td>
<td style="text-align:center;">{{item.UploadedBy}}</td>
</tr>
【问题讨论】:
-
试试
index和key换成v-for -
我已经添加了这个: v-for="(item, index) in items" :key="item.ID" 仍然没有刷新我的表。谢谢你的建议。
-
使用
axios,在不同的情况下也会发生类似的事情:我的意思是,虽然data得到更新,但视图仍然显示相同的内容,我解决了这个重置数组的问题,然后在同一个函数中添加另一个 API 调用(watch等在这里没有帮助)
标签: javascript vue.js axios