vue中使用dhtmlx-gantt在destructor后怎么重新渲染
时间: 2023-11-02 16:24:24 浏览: 97
在Vue.js中使用dhtmlx-gantt,可以通过在组件的mounted钩子函数中初始化gantt实例,并在组件的destroyed钩子函数中销毁gantt实例。在重新渲染之前,需要先在组件的data属性中保存之前使用的gantt数据。以下是一个示例代码:
```
<template>
<div ref="ganttContainer"></div>
</template>
<script>
import "dhtmlx-gantt";
import "dhtmlx-gantt/codebase/dhtmlxgantt.css";
export default {
data() {
return {
ganttData: null,
ganttInstance: null,
};
},
mounted() {
this.ganttInstance = gantt.init(this.$refs.ganttContainer);
this.ganttInstance.parse(this.ganttData);
},
destroyed() {
this.ganttInstance.destructor();
},
methods: {
reloadGantt() {
this.ganttInstance = gantt.init(this.$refs.ganttContainer);
this.ganttInstance.parse(this.ganttData);
},
},
};
</script>
```
在这个示例中,我们在组件的data属性中定义了ganttData和ganttInstance。在组件的mounted钩子函数中,我们初始化了gantt实例并使用ganttData填充它。在组件的destroyed钩子函数中,我们销毁了gantt实例。
如果需要重新渲染gantt图表,可以调用组件的reloadGantt方法。在这个方法中,我们重新初始化gantt实例并使用之前保存的ganttData填充它,然后调用gantt.render()方法重新渲染gantt图表。
阅读全文