From 32ce19fcd856c22403ad87650031b9840b151283 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Sat, 2 Aug 2025 11:22:10 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E3=80=90IoT=20=E7=89=A9=E8=81=94?= =?UTF-8?q?=E7=BD=91=E3=80=91=E5=9C=BA=E6=99=AF=E8=81=94=E5=8A=A8=E9=A6=96?= =?UTF-8?q?=E6=AC=A1=E6=B7=BB=E5=8A=A0=E6=9D=A1=E4=BB=B6=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E7=9A=84=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configs/ConditionGroupContainerConfig.vue | 10 +++++++-- .../form/configs/DeviceTriggerConfig.vue | 7 ------ .../form/configs/SubConditionGroupConfig.vue | 22 +++++++++++++++---- 3 files changed, 26 insertions(+), 13 deletions(-) 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 @@