VueFormGenerator,Custom Fieds没有更新模型中的值

时间:2018-01-11 09:03:05

标签: forms vuejs2

我尝试创建自定义字段。

所以我这样做:

import Vue from 'vue';
import Datepicker from 'vuejs-datepicker';
import VueFormGenerator from 'vue-form-generator';

Vue.component('fieldDatePicker', {
  template: '<datepicker :placeholder="schema.placeholder" v-model="datePicker_model"></datepicker>',
  components: {
    Datepicker,
  },
  data: function() {
    return {
      datePicker_model: '',
    };
  },
  mixins: [VueFormGenerator.abstractField],
  mounted() {
    this.datePicker_model = this.schema.default;
  },
  computed: {
    value: {
      get: function() {
        return this.$moment(this.datePicker_model).format('DD-MM-YY')
      },
      set: function(newValue) {
        throw 'TODO : ' + newValue;
        // TODO converte and set value ! this.datePucker_model = newValue;
      },
    },
  },
});

但是我的组件没有更新VueFormGenerator的模型......

我忘记了什么???

1 个答案:

答案 0 :(得分:0)

我将此添加到我的组件并且它可以工作;)

watch: {
    datePicker_model: function(newValue, OldValue) {
      if(this.format(newValue) !== this.format(OldValue)) {
        this.setModelValueByPath(this.schema.model, this.format(newValue));
      }
    },
  },