0
我在Vuex商店中有许多公司。每个公司对象都有几个对象...为了简化我的问题,想象一下Vue.js Vuex - 在数据库中删除未反映在视图中
company {id:1,approval_notes:[{id:1},{id:2},{id:3} ],鳍: {total_rev:10000}}
我想从公司的1
的ID在视图中移除与2的id approval_note,我有
deleteNote(obj) {
if(confirm('Are you sure you want to delete this note?')) {
let path = '/api/approval_notes/' + obj.id;
axios.delete(path)
.then(function(rsp) {
this.$store.dispatch('delete_approval_note', obj);
}.bind(this))
.catch(function (err) {
console.log('AXIOS ERR', err);
}.bind(this));
}
}
行动是
export const delete_approval_note = ({commit}, payload) => {
commit('DELETE_APPROVAL_NOTE', payload);
};
,变异是
export const DELETE_APPROVAL_NOTE = (state, payload) => {
_.each(state.companies, function(co) {
if(co.id = payload.company_id) {
let notes = co.approval_notes;
notes.splice(notes.indexOf(payload), 1);
}
});
};
的音符从数据库中删除,但视图不无刷新页面更新。
这种类型的事情我会做一堆,所以了解这个过程是很重要的,因为我明显地不知道现在。
任何帮助表示赞赏。
它实际上从笔记中删除它? – Saurabh
不在“实时”中......它从数据库中删除并刷新页面,我正在重新获取笔记,因此它不再显示。点击时我需要删除它。 – jgravois