mirror of
https://gitee.com/myxzgzs/boyue-ui-admin-vue3
synced 2025-08-08 16:32:43 +08:00
使用 Lodash 的 cloneDeep 方法来进行深拷贝
This commit is contained in:
parent
c7b135e1f8
commit
ce0020ab1c
@ -47,6 +47,7 @@ import { SimpleFlowNode, ConditionType } from '../consts'
|
|||||||
import { getDefaultConditionNodeName } from '../utils'
|
import { getDefaultConditionNodeName } from '../utils'
|
||||||
import { useFormFieldsAndStartUser, getConditionShowText } from '../node'
|
import { useFormFieldsAndStartUser, getConditionShowText } from '../node'
|
||||||
import Condition from './components/Condition.vue'
|
import Condition from './components/Condition.vue'
|
||||||
|
import { cloneDeep } from 'lodash-es'
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'ConditionNodeConfig'
|
name: 'ConditionNodeConfig'
|
||||||
@ -81,7 +82,7 @@ const condition = ref<any>({
|
|||||||
const open = () => {
|
const open = () => {
|
||||||
// 如果有已存在的配置则使用,否则使用默认值
|
// 如果有已存在的配置则使用,否则使用默认值
|
||||||
if (currentNode.value.conditionSetting) {
|
if (currentNode.value.conditionSetting) {
|
||||||
condition.value = JSON.parse(JSON.stringify(currentNode.value.conditionSetting))
|
condition.value = cloneDeep(currentNode.value.conditionSetting)
|
||||||
} else {
|
} else {
|
||||||
// 重置为默认值
|
// 重置为默认值
|
||||||
condition.value = {
|
condition.value = {
|
||||||
@ -157,13 +158,13 @@ const saveConfig = async () => {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
currentNode.value.showText = showText
|
currentNode.value.showText = showText
|
||||||
// 深拷贝保存的条件设置,避免引用问题
|
// 使用 cloneDeep 进行深拷贝
|
||||||
currentNode.value.conditionSetting = JSON.parse(JSON.stringify({
|
currentNode.value.conditionSetting = cloneDeep({
|
||||||
...currentNode.value.conditionSetting,
|
...currentNode.value.conditionSetting,
|
||||||
conditionType: condition.value?.conditionType,
|
conditionType: condition.value?.conditionType,
|
||||||
conditionExpression: condition.value?.conditionType === ConditionType.EXPRESSION ? condition.value?.conditionExpression : undefined,
|
conditionExpression: condition.value?.conditionType === ConditionType.EXPRESSION ? condition.value?.conditionExpression : undefined,
|
||||||
conditionGroups: condition.value?.conditionType === ConditionType.RULE ? condition.value?.conditionGroups : undefined
|
conditionGroups: condition.value?.conditionType === ConditionType.RULE ? condition.value?.conditionGroups : undefined
|
||||||
}))
|
})
|
||||||
}
|
}
|
||||||
settingVisible.value = false
|
settingVisible.value = false
|
||||||
return true
|
return true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user