小编MSi*_*ric的帖子

一旦 Vuex 中的一个动作完成,就从 store 中调用一个组件函数

添加新元素后,我试图自动滚动到包含元素列表的 div 的底部。

由于添加和删除元素是通过 Axios 使用 API 完成的,因此我必须等待服务器的响应才能更新我在 Vuex 中的状态。

这意味着,一旦在我的状态中添加了一个元素,每次我调用“scrollDown”函数时,该函数都会滚动到倒数第二个元素(由于尚未注册异步 Axios 调用)。

我的问题是,如何等待 Vuex 中的操作完成,然后调用组件中的函数滚动到 div 的底部?

我尝试使用观察者、计算属性、发送道具、跟踪 Vuex 中实际状态的变化,但这些都不起作用......

// VUEX

const state = {
  visitors: [],
  url: 'API URL',
  errors: []
}
const mutations = {
  ADD_VISITOR(state, response) {
    const data = response.data;
    data.Photos = [];
    state.visitors.data.push(data);
  },
}
const actions = {
  addVisitor: ({ commit }, insertion) => {
    axios
      .post(state.url + 'api/visitor', {
        name: insertion.visitorName
      })
      .then(response => {
        commit('ADD_VISITOR', response);
      })
      .catch(error …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuex vuejs2

3
推荐指数
1
解决办法
3941
查看次数

标签 统计

javascript ×1

vue.js ×1

vuejs2 ×1

vuex ×1