要将 dhtmlx-scheduler 与 TypeScript 一起使用,请确保在 SchedulerStatic 类型之外导入 dhtmlx-scheduler:
import 'dhtmlx-scheduler'
import { SchedulerStatic } from 'dhtmlx-scheduler'
那么你可以像这样使用window.scheduler:
const scheduler: SchedulerStatic = (window as any).scheduler
scheduler.init(/*...*)
基于docs的TypeScript SFC示例:
<template>
<div ref="scheduler"></div>
</template>
<script lang="ts">
import { defineComponent } from 'vue'
import 'dhtmlx-scheduler'
import { SchedulerStatic } from 'dhtmlx-scheduler'
export default defineComponent({
name: 'scheduler',
props: {
events: {
type: Array,
default: () => []
}
},
mounted() {
const scheduler: SchedulerStatic = (window as any).scheduler // eslint-disable-line
scheduler.skin = 'material'
scheduler.config.header = [
'day',
'week',
'month',
'date',
'prev',
'today',
'next'
]
scheduler.init(this.$refs.scheduler as HTMLElement, new Date(2020, 0, 20), 'week')
scheduler.parse(this.$props.events)
}
})
</script>
<style>
@import "~dhtmlx-scheduler/codebase/dhtmlxscheduler_material.css";
</style>