fix(dsl-page):修复本地运行中对于props属性引用utils出码报错的问题 (#346)

* fix(dsl-page):修复对于props属性引用utils出码报错的问题

* fix(dsl-page):修复对于props属性引用utils出码报错的问题-review
This commit is contained in:
wenmine 2024-04-22 11:36:05 +08:00 committed by GitHub
parent eafe3df2c6
commit 4864fb66c5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 9 additions and 0 deletions

View File

@ -159,6 +159,15 @@ function handleBinding(props, attrsArr, description, state) {
return attrsArr.push(`v-model${modelArgs}="${item.value.replace(/this\.(props\.)?/g, '')}"`)
}
// 弥补在recurseChildren方法中当children为undefined但是该元素的props存在变量绑定的情况此变量绑定的为
// 当前JSResources在props的使用场景为变量绑定使用范式一般为this.xxx
const pickResourceKeys = item.value?.match(/(?<=this\.)\w+/g) || []
const itemObject = Object.fromEntries(pickResourceKeys.map((key) => [key, true]))
Object.keys(description.jsResource).forEach((jsResourceKey) => {
description.jsResource[jsResourceKey] = description.jsResource[jsResourceKey] || itemObject[jsResourceKey]
})
// expression 使用 v-bind 绑定
return attrsArr.push(`:${key}="${item.value.replace(/this\.(props\.)?/g, '')}"`)
}