将v-data-table绑定到模板中的props属性

时间:2019-02-14 22:49:46

标签: vuetify.js

我有一个vue组件,该组件调用load方法返回一个由多部分组成的json对象。该Vue的模板由几个子Vue组件组成,我在其中分配了:data =“ some_object”。

这适用于所有模板,但带有v-data-table的模板除外,因为v-for进程(或v-data-table的构建/渲染)似乎在“数据”之前启动属性已加载。

如果我对npm开发服务器进行了微妙的更改,则该项目会触发刷新数据表,然后按预期加载数据。

尝试了各种事件,以尝试将本地属性分配给通过“ props []”传递的属性。有趣的是,如果我进行虚拟的v-for迭代或仅访问data [...]属性,则后续的v-data-table加载。但是我需要基于同一行中的列绑定其他规则,这是行不通的。

父/主要Vue组件:

E

因此,在上面,:data属性是从下面的结果中为每个子组件分配的。

...
  <v-flex xs6 class="my-2">
    <ShipViaForm :data="freight"></ShipViaForm>
  </v-flex>
  <OrderHeaderForm :data="orderheader"></OrderHeaderForm>
  <v-flex xs12>
    <DetailsForm :data="orderdet" :onSubmit="submit"></DetailsForm>
  </v-flex>
...

DetailsForm.vue

...
  methods: {
    load(id) {
      API.getPickingDetails(id).then((result) => {
        this.picking = result.picking;
        this.freight = this.picking.freight;
        this.orderheader = this.picking.orderheader;
        this.orderdet = this.picking.orderdet;
      });
    },
...

1 个答案:

答案 0 :(得分:1)

希望这会对其他看不见森林的人有所帮助...

当我以父级形式声明data(){...}属性时,我将orderdet初始化为{}而不是[]。