NEZ-2059 fix:panel 变量 未完全渲染

This commit is contained in:
zhangyu
2022-07-21 18:32:25 +08:00
parent 4f65ad4e4b
commit ddc5f7e923
3 changed files with 12 additions and 12 deletions

View File

@@ -546,22 +546,22 @@ export default {
},
variablesReplace (expression) {
let str = expression
let confirmReg = ''
let confirmRegItem = ''
let confirmReg = []
this.variablesArr.forEach(item => {
const reg = '$' + item.name // 后续需要考虑 item,name 使用特殊字符的问题
const index = expression.indexOf(reg)
if (index !== -1) {
if (reg.length > confirmReg.length) {
confirmReg = reg
confirmRegItem = item
}
confirmReg.push(item)
}
})
if (confirmReg) {
const index = expression.indexOf(confirmReg)
const replaceStr = confirmRegItem.checked.map(label => label.replace(/\"/g, '\\"').replace(/\'/g, "\\'")).join('|')
str = str.substring(0, index) + replaceStr + str.substring(index + confirmReg.length)
confirmReg = this.$loadsh.sortBy(confirmReg, function (item) { // 根据 匹配的name的长度排序 避免匹配的 $a 没匹配 $asset的问题
return item.name.length
})
if (confirmReg.length) {
confirmReg.forEach(item => {
const reg = new RegExp('\\$' + item.name, 'g') // 后续需要考虑 item,name 使用特殊字符的问题
str = str.replace(reg, item.checked.map(label => label.replace(/\"/g, '\\"').replace(/\'/g, "\\'")).join('|'))
})
}
return str
},

View File

@@ -150,7 +150,7 @@
</el-form-item>
<!-- visibility -->
<div>
<div v-if="params.type === 'group'">
<div class="form__sub-title">
<span>{{$t('dashboard.panel.showHidden')}}</span>
<el-switch

View File

@@ -680,7 +680,7 @@
</div>
<!-- visibility -->
<div>
<div v-if="params.type === 'group'">
<div class="form__sub-title">
<span>{{$t('dashboard.panel.showHidden')}}</span>
<el-switch