Vue项目中的文件上传成功但不加载

Vue项目中的文件上传成功但不加载


  1. 只是因为在数据传递过程中,名称不统一导致的,导致在dataList方法中没有及时更新。
  2. 在Vuex中采用dataList呈放数据,却在更新时采用的list,导致上传后更新了list数组,没有对dataList进行更新.
  3. 还有图片地址在上传后自动添加http://127.0.0.1:8080/,所以在存储时保存路径前不应有 " / "

html中呈放数据采用el框架

<el-table :data="dataList"..>..</..>

提供数据的方法

dataList: function () {
      return this.$store.state.dataList;
},

在Vuex的mutations更新数据采用

state: {
	dataList:[],
	totalNumber: 0,
}

[GET_BRAND_LIST](state, data) {
      Vue.set(state, "dataList", data.list); //""中之前使用的为list
      Vue.set(state, "totalNumber", data.totalNumber);
      // console.log(state.brand);
    },

actions请求代码

[GET_LIST](context, data) {
      Vue.prototype.$axios.post('list', {
        ...data
      })
          .then(response => {
        // 提交mutation
        context.commit(GET_BRAND_LIST, {
          // 根据上行数据来进行处理
          list: response.data.data,
          totalNumber: response.data.totalNumber
        });
      })
          .catch(error => {
        Vue.prototype.$message.error('网络连接错误,数据获取失败');
      });
    },

Vuex中添加请求即上传文件

// actions
[ADD_INFO](context, data) {
      // 向后端发送新增请求 - 例如GET中

      let id = Date.now();   // 该 id从后端返回,这里是假数据
      // 提交 mutation
      context.commit(ADD_INFO, {
        id,
        ...data.formData,
      });
      Vue.prototype.$message.success("新增数据成功!");
    },

// mutations
[ADD_INFO](state, data) {
      if(state.dataList.length >= 10) {// 超出当页总数
        // 先移除数组中的最后一个数据
        state.dataList.splice(state.dataList.length - 1, 1);
      }
      // 在数组第一位添加新数据 第二个参数为0为添加
      state.dataList.splice(0, 0, data);
    },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值