Skip to content

Commit 0eef4cf

Browse files
committed
fix(ui): 修复 Vue 模板中 Ref 自动解包导致的组件显示问题
- 修复 ImageWorkspace 中 PromptPanel 条件渲染错误 - 修正 App.vue 向 Context 组件传递 services 的方式 - 删除 ContextUserWorkspace 和 ContextSystemWorkspace 中未使用的 services prop - 统一遵循 Vue 3 模板 Ref 自动解包规则 问题根源:Vue 3 模板中顶层 Ref 会自动解包,使用 services?.value 实际访问的是 services.value.value,导致条件判断失败 修复 #198
1 parent 71c2331 commit 0eef4cf

File tree

5 files changed

+1
-14
lines changed

5 files changed

+1
-14
lines changed

packages/extension/src/App.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@
174174
content,
175175
) || []
176176
"
177-
:services="services?.value || null"
178177
:input-mode="
179178
responsiveLayout.recommendedInputMode.value
180179
"
@@ -339,7 +338,6 @@
339338
variableManager?.allVariables?.value || {}
340339
"
341340
:predefined-variables="predefinedVariables"
342-
:services="services?.value || null"
343341
@variable-change="handleTestPanelVariableChange"
344342
@save-to-global="handleSaveToGlobal"
345343
:input-mode="

packages/ui/src/components/context-mode/ContextSystemWorkspace.vue

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ import TestAreaPanel from "../TestAreaPanel.vue";
219219
import ConversationManager from "./ConversationManager.vue";
220220
import type { OptimizationMode, ConversationMessage } from "../../types";
221221
import type {
222-
IServices,
223222
PromptRecord,
224223
Template,
225224
} from "@prompt-optimizer/core";
@@ -265,9 +264,6 @@ interface Props {
265264
availableVariables: Record<string, string>;
266265
scanVariables: (content: string) => string[];
267266
268-
// 服务
269-
services: IServices | null;
270-
271267
// 响应式布局配置
272268
inputMode?: "compact" | "normal";
273269
controlBarLayout?: "default" | "compact" | "minimal";

packages/ui/src/components/context-mode/ContextUserWorkspace.vue

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,6 @@ import PromptPanelUI from "../PromptPanel.vue";
250250
import TestAreaPanel from "../TestAreaPanel.vue";
251251
import type { OptimizationMode } from "../../types";
252252
import type {
253-
IServices,
254253
PromptRecord,
255254
Template,
256255
} from "@prompt-optimizer/core";
@@ -309,10 +308,6 @@ interface Props {
309308
/** 预定义变量 (系统内置) */
310309
predefinedVariables: Record<string, string>;
311310
312-
// --- 服务 ---
313-
/** 核心服务实例 */
314-
services: IServices | null;
315-
316311
// --- 响应式布局配置 ---
317312
/** 输入模式 */
318313
inputMode?: "compact" | "normal";

packages/ui/src/components/image-mode/ImageWorkspace.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@
286286
content-style="height: 100%; max-height: 100%; overflow: hidden;"
287287
>
288288
<PromptPanelUI
289-
v-if="services?.value?.templateManager"
289+
v-if="services && services.templateManager"
290290
ref="promptPanelRef"
291291
v-model:optimized-prompt="optimizedPrompt"
292292
:reasoning="optimizedReasoning"

packages/web/src/App.vue

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@
174174
content,
175175
) || []
176176
"
177-
:services="services?.value || null"
178177
:input-mode="
179178
responsiveLayout.recommendedInputMode.value
180179
"
@@ -339,7 +338,6 @@
339338
variableManager?.customVariables?.value || {}
340339
"
341340
:predefined-variables="predefinedVariables"
342-
:services="services?.value || null"
343341
@variable-change="handleTestPanelVariableChange"
344342
@save-to-global="handleSaveToGlobal"
345343
:input-mode="

0 commit comments

Comments
 (0)