Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js laravel 5.8中的Vue,从axios响应动态填充表格_Vue.js_Laravel 5.8 - Fatal编程技术网

Vue.js laravel 5.8中的Vue,从axios响应动态填充表格

Vue.js laravel 5.8中的Vue,从axios响应动态填充表格,vue.js,laravel-5.8,Vue.js,Laravel 5.8,我有一个刀片,我使用multiselect作为下拉列表,当选择一个选项时,它会触发一个axios调用,返回一个json_编码的数据集 刀片在这里: <div class="uk-width-1-2"> <multiselect label="name" track-by="value" v-model="CategoryValue

我有一个刀片,我使用multiselect作为下拉列表,当选择一个选项时,它会触发一个axios调用,返回一个json_编码的数据集

刀片在这里:

<div class="uk-width-1-2">
    <multiselect
            label="name"
            track-by="value"
            v-model="CategoryValue"
            :options="CategoryOptions"
            :multiple="false"
            :taggable="true"
            @tag="getItems"
            @input="getItems"
            @search-change="val => read(val)"
            :preselect-first="false"
            :close-on-select="true" 
            :preserve-search="true" 
            placeholder="Choose Category..."
          ></multiselect>

    <div style="border:1px solid black; height:80%; margin-top:15px;">
        <table>
            <thead>
                <tr>
                    <th>Text</th>
                </tr>
            </thead>
            <tbody v-for="build in buildsList">
                <tr>
                    <td>@{{ build.build_code_formatted }}</td>
                </tr>
            </tbody>
            
        </table>
    </div>
</div>


new Vue({

  data() {
    return{
       
        buildsList: {},
    }

  },
  methods: {
    
    getItems() {
      
      console.log(this.CategoryValue.value);

      axios.post('/getItems',{
            
        categoryCode: this.CategoryValue.value,

      })
      .then(function (response){
            
        this.buildsList = response.data;
            
      })
      .catch(function (error) {
            console.log(error);
            
      });
    }
  }
}) 
itemService正在这样做:

$results = $pdoStatement->fetchAll();
    foreach ($results as &$r)
        $r = (object) $r;
    return $results;

因此,我的数据在axios调用时返回,并且格式正确,但我只需要弄清楚为什么我的表没有动态填充,请尝试更改此部分

this.buildsList = response.data;


这不起作用,它是这样说的。$set不是一个函数对不起,我忘记了箭头函数。添加修复请再试一次,对吗。谢谢你,结果出来了,但是,它只排了一行,而不是我在数组中得到的33行。为什么它只显示一行呢?我在这一行中修改了这个$set(this.buildsList,key,data[key]);请再核对一下我的答案
this.buildsList = response.data;
.then((response) => {
    let data = response.data;

    for (let key in data) {
    if(data.hasOwnProperty(key)) {
       this.$set(this.buildsList, key, data[key]);
     }
    }
})