使用 vue-flatpickr-component 时 "Object(...) is not a function" 和 "this.$refs.root is undefined"

"Object(...) is not a function" and "this.$refs.root is undefined" when using vue-flatpickr-component

我正在尝试在 Vue class 组件中使用节点包 vue-flatpickr-component,具有以下 vue 模板代码:

<flat-pickr
    class="form-control"
    :config="flatpickr"
    v-model="form.data.date"
    :model-value="form.data.date"
    name="date"
/>

这是组件中的相关TypeScript代码:

@Component({
components: { 'flat-pickr': flatpickr },
})
export default class ClassComponent extends Vue {

    public form = {
        data: {
            date: '2021-01-01',
            // ...
        },
        // ...
    };

    public flatpickr = {
        wrap: true,
        altFormat: 'M j, Y',
        altInput: true,
        dateFormat: 'Y-m-d',
    };

    // ...
}

但是,我收到以下错误:

[Vue warn]: Error in render: "TypeError: Object(...) is not a function"

found in

---> <FlatPickr>
      <PriceChecker> at src/main/webapp/app/core/price-checker/price-checker.vue
        <App> at src/main/webapp/app/app.vue
          <Root>

和:

[Vue warn]: Error in mounted hook: "TypeError: this.$refs.root is undefined"

found in

---> <FlatPickr>
       <PriceChecker> at src/main/webapp/app/core/price-checker/price-checker.vue
         <App> at src/main/webapp/app/app.vue
           <Root>

即使我从 <flat-picker> 元素中删除除 model-value 之外的所有属性,我也会得到相同的错误。

这里可能出了什么问题,有人知道我该如何解决吗?

当 Vue 2 项目使用最新版本的 vue-flatpickr-component (9.x) 时会发生此错误,该版本适用于 Vue 3 项目。要使用该组件的 Vue 2 兼容版本,请安装 8.x:

npm install -S vue-flatpickr-component@8