1. 如果想在vue中创建一个二维数组,需要写成 arrayDataFile:[[]] 这种中括号的写法。
  2. this.arrayDataFile[x] = new Array(); 每一行都要新建一个一维数组,不然会报错。

<script>
  import api from '../../api/api'
  import $ from 'jquery';
  export default {
    name: "DataFile",
    inject: ['reload'],
    data(){
      return {
        arrayDataFile:[[]],  // 保存预览文件中所有的数值,保存成一个二维数组的形式
      }
    },
    methods:{
      // 在后台查询预览
      viewData (fid) {
        this.arrayDataFile=[[]];
        var dataView = new FormData;
        dataView.append("id",fid);
        api.getDataDetail(dataView).then((response) => response.json())
          .then((data) => {
            for(var x=0;x<data.data.length;x++){
            //因为我在后台取出来的文件数据是一行的,字符串形式
              var dataArray = ((String)(data.data[x])).split(",");
              //这句话是必须的,每次都要新建一个一维数组,不然会报错
              this.arrayDataFile[x] = new Array();
              for(var i =0;i<dataArray.length;i++){
                 this.arrayDataFile[x][i] = dataArray[i];
              }
            }
            console.log(this.arrayDataFile);
          });
      }
  }
</script>
Logo

前往低代码交流专区

更多推荐