Skip to content

Commit 13e0ede

Browse files
YunaiVgitee-org
authored andcommitted
!155 fix: 处理 window.bpmnInstances 有时候为 undefined 问题
Merge pull request !155 from OlyLis/master
2 parents c0bf357 + 6b3de50 commit 13e0ede

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -113,18 +113,18 @@ const timer = ref()
113113
provide('prefix', props.prefix)
114114
provide('width', props.width)
115115
const bpmnInstances = () => (window as any)?.bpmnInstances
116-
const initModels = () => {
117-
// console.log(props, 'props')
118-
// console.log(props.bpmnModeler, 'sakdjjaskdsajdkasdjkadsjk')
119-
// 初始化 modeler 以及其他 moddle
120-
// nextTick(() => {
121-
if (!props.bpmnModeler) {
116+
117+
// 监听 props.bpmnModeler 然后 initModels
118+
const unwatchBpmn = watch(
119+
() => props.bpmnModeler,
120+
() => {
122121
// 避免加载时 流程图 并未加载完成
123-
timer.value = setTimeout(() => initModels(), 10)
124-
return
125-
}
126-
if (timer.value) {
127-
clearTimeout(timer.value)
122+
if (!props.bpmnModeler) {
123+
console.log('缺少props.bpmnModeler')
124+
return
125+
}
126+
127+
console.log('props.bpmnModeler 有值了!!!')
128128
const w = window as any
129129
w.bpmnInstances = {
130130
modeler: props.bpmnModeler,
@@ -137,12 +137,16 @@ const initModels = () => {
137137
replace: props.bpmnModeler.get('replace'),
138138
selection: props.bpmnModeler.get('selection')
139139
}
140+
141+
console.log(bpmnInstances(), 'window.bpmnInstances')
142+
getActiveElement()
143+
unwatchBpmn()
144+
},
145+
{
146+
immediate: true
140147
}
148+
)
141149
142-
console.log(bpmnInstances(), 'window.bpmnInstances')
143-
getActiveElement()
144-
// })
145-
}
146150
const getActiveElement = () => {
147151
// 初始第一个选中元素 bpmn:Process
148152
initFormOnChanged(null)
@@ -190,11 +194,7 @@ const initFormOnChanged = (element) => {
190194
)
191195
formVisible.value = elementType.value === 'UserTask' || elementType.value === 'StartEvent'
192196
}
193-
onMounted(() => {
194-
setTimeout(() => {
195-
initModels()
196-
}, 100)
197-
})
197+
198198
onBeforeUnmount(() => {
199199
const w = window as any
200200
w.bpmnInstances = null

0 commit comments

Comments
 (0)