From b104cd94f2b0d0a87b292b9d53abd064c3756730 Mon Sep 17 00:00:00 2001 From: kjs Date: Thu, 23 Oct 2025 13:24:37 +0900 Subject: [PATCH] =?UTF-8?q?=ED=85=8D=EC=8A=A4=ED=8A=B8=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EC=B4=88=EA=B8=B0=ED=99=94=20=EB=90=98=EB=8A=94=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/panels/UnifiedPropertiesPanel.tsx | 6 ++++-- .../text-display/TextDisplayComponent.tsx | 16 ++-------------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/frontend/components/screen/panels/UnifiedPropertiesPanel.tsx b/frontend/components/screen/panels/UnifiedPropertiesPanel.tsx index 57964650..6e027bc3 100644 --- a/frontend/components/screen/panels/UnifiedPropertiesPanel.tsx +++ b/frontend/components/screen/panels/UnifiedPropertiesPanel.tsx @@ -524,8 +524,10 @@ export const UnifiedPropertiesPanel: React.FC = ({ tables={tables} onChange={(newConfig) => { console.log("🔄 DynamicComponentConfigPanel onChange:", newConfig); - // 전체 componentConfig를 업데이트 - handleUpdate("componentConfig", newConfig); + // 개별 속성별로 업데이트하여 다른 속성과의 충돌 방지 + Object.entries(newConfig).forEach(([key, value]) => { + handleUpdate(`componentConfig.${key}`, value); + }); }} /> diff --git a/frontend/lib/registry/components/text-display/TextDisplayComponent.tsx b/frontend/lib/registry/components/text-display/TextDisplayComponent.tsx index dc4f15da..a1e96a78 100644 --- a/frontend/lib/registry/components/text-display/TextDisplayComponent.tsx +++ b/frontend/lib/registry/components/text-display/TextDisplayComponent.tsx @@ -3,6 +3,7 @@ import React from "react"; import { ComponentRendererProps } from "../../types"; import { TextDisplayConfig } from "./types"; +import { filterDOMProps } from "@/lib/utils/domPropsFilter"; export interface TextDisplayComponentProps extends ComponentRendererProps { // 추가 props가 필요한 경우 여기에 정의 @@ -53,20 +54,7 @@ export const TextDisplayComponent: React.FC = ({ .join(" "); // DOM props 필터링 (React 관련 props 제거) - const { - component: _component, - isDesignMode: _isDesignMode, - isSelected: _isSelected, - isInteractive: _isInteractive, - screenId: _screenId, - tableName: _tableName, - onRefresh: _onRefresh, - onClose: _onClose, - formData: _formData, - onFormDataChange: _onFormDataChange, - componentConfig: _componentConfig, - ...domProps - } = props; + const domProps = filterDOMProps(props); // 텍스트 스타일 계산 const textStyle: React.CSSProperties = {