!155 fix: 处理 window.bpmnInstances 有时候为 undefined 问题

Merge pull request !155 from OlyLis/master
This commit is contained in:
芋道源码 2023-07-02 15:23:12 +00:00 committed by Gitee
commit 13e0ede788
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

View File

@ -113,18 +113,18 @@ const timer = ref()
provide('prefix', props.prefix) provide('prefix', props.prefix)
provide('width', props.width) provide('width', props.width)
const bpmnInstances = () => (window as any)?.bpmnInstances const bpmnInstances = () => (window as any)?.bpmnInstances
const initModels = () => {
// console.log(props, 'props') // props.bpmnModeler initModels
// console.log(props.bpmnModeler, 'sakdjjaskdsajdkasdjkadsjk') const unwatchBpmn = watch(
// modeler moddle () => props.bpmnModeler,
// nextTick(() => { () => {
if (!props.bpmnModeler) {
// //
timer.value = setTimeout(() => initModels(), 10) if (!props.bpmnModeler) {
console.log('缺少props.bpmnModeler')
return return
} }
if (timer.value) {
clearTimeout(timer.value) console.log('props.bpmnModeler 有值了!!!')
const w = window as any const w = window as any
w.bpmnInstances = { w.bpmnInstances = {
modeler: props.bpmnModeler, modeler: props.bpmnModeler,
@ -137,12 +137,16 @@ const initModels = () => {
replace: props.bpmnModeler.get('replace'), replace: props.bpmnModeler.get('replace'),
selection: props.bpmnModeler.get('selection') selection: props.bpmnModeler.get('selection')
} }
}
console.log(bpmnInstances(), 'window.bpmnInstances') console.log(bpmnInstances(), 'window.bpmnInstances')
getActiveElement() getActiveElement()
// }) unwatchBpmn()
} },
{
immediate: true
}
)
const getActiveElement = () => { const getActiveElement = () => {
// bpmn:Process // bpmn:Process
initFormOnChanged(null) initFormOnChanged(null)
@ -190,11 +194,7 @@ const initFormOnChanged = (element) => {
) )
formVisible.value = elementType.value === 'UserTask' || elementType.value === 'StartEvent' formVisible.value = elementType.value === 'UserTask' || elementType.value === 'StartEvent'
} }
onMounted(() => {
setTimeout(() => {
initModels()
}, 100)
})
onBeforeUnmount(() => { onBeforeUnmount(() => {
const w = window as any const w = window as any
w.bpmnInstances = null w.bpmnInstances = null