使用 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
我正在尝试在 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