diff --git a/src/views/iot/rule/scene/form/configs/ConditionGroupContainerConfig.vue b/src/views/iot/rule/scene/form/configs/ConditionGroupContainerConfig.vue index caa2ec9b..1ece2c40 100644 --- a/src/views/iot/rule/scene/form/configs/ConditionGroupContainerConfig.vue +++ b/src/views/iot/rule/scene/form/configs/ConditionGroupContainerConfig.vue @@ -153,11 +153,17 @@ const addSubGroup = () => { container.value = [] } - if (container.value.length >= maxSubGroups) { + // 检查是否达到最大子组数量限制 + if (container.value?.length >= maxSubGroups) { return } - container.value.push([]) + // 使用 nextTick 确保响应式更新完成后再添加新的子组 + nextTick(() => { + if (container.value) { + container.value.push([]) + } + }) } const removeSubGroup = (index: number) => { diff --git a/src/views/iot/rule/scene/form/configs/DeviceTriggerConfig.vue b/src/views/iot/rule/scene/form/configs/DeviceTriggerConfig.vue index 991a87fd..b5e37d5d 100644 --- a/src/views/iot/rule/scene/form/configs/DeviceTriggerConfig.vue +++ b/src/views/iot/rule/scene/form/configs/DeviceTriggerConfig.vue @@ -83,13 +83,6 @@ const handleMainConditionValidate = (result: { valid: boolean; message: string } updateValidationResult() } -const addConditionGroup = () => { - if (!trigger.value.conditionGroups) { - trigger.value.conditionGroups = [] - } - trigger.value.conditionGroups.push([]) -} - // 事件处理 const handleConditionGroupValidate = () => { updateValidationResult() diff --git a/src/views/iot/rule/scene/form/configs/SubConditionGroupConfig.vue b/src/views/iot/rule/scene/form/configs/SubConditionGroupConfig.vue index f432b4d4..d89e4c4d 100644 --- a/src/views/iot/rule/scene/form/configs/SubConditionGroupConfig.vue +++ b/src/views/iot/rule/scene/form/configs/SubConditionGroupConfig.vue @@ -80,10 +80,14 @@