From d4fe766373c85686146a389a5c37fe251427909f Mon Sep 17 00:00:00 2001 From: skycurtain Date: Tue, 8 Sep 2026 10:48:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(layout):=20tabs=20=E7=BA=AF=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=20+=20=E9=9D=A2=E6=9D=BF=E5=A4=96=E7=BD=AE=EF=BC=8C?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E5=8C=BA=E5=9B=BA=E5=AE=9A=E5=88=86=E5=8C=BA?= =?UTF-8?q?=E6=BB=9A=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 参照 t-design-starter 与 Naive UI display-directive=show 语义:t-tabs 只当导航条(list 不传 panel),EndpointPanel 渲染在外置自有容器,v-show 常驻切换(面板不销毁,sk-key/滚动位置/局部状态全保留);删除两条 :deep 穿透,仅留一条收敛规则隐藏空 panel 壳;响应区 overflow:hidden + min-height 220px 固定分区,滚动收敛到 JsonTextView 自身;新增 request-tabs 4 用例锁死显隐/不销毁语义。 --- src/components/endpoint-panel.vue | 32 ++++---- src/components/request-tabs.spec.ts | 115 ++++++++++++++++++++++++++++ src/components/request-tabs.vue | 84 +++++++++++--------- 3 files changed, 182 insertions(+), 49 deletions(-) create mode 100644 src/components/request-tabs.spec.ts diff --git a/src/components/endpoint-panel.vue b/src/components/endpoint-panel.vue index 883eeb6..dddc38d 100644 --- a/src/components/endpoint-panel.vue +++ b/src/components/endpoint-panel.vue @@ -1,11 +1,7 @@ -/** - * 单接口完整面板:信息行 → 注意事项折叠 → sk-key 输入 + 发送按钮 → 响应区 - * - * sk-key 存在 bench-store(每 tab 独立、无持久化、随刷新重置): - * 2026-09 起从组件局部 ref 提升——EndpointPanel 随 tab 切换卸载重建, - * 局部 ref 会在切回时丢输入;store 持有则切 tab 保留(数据仍由 Query 缓存兜底) - * 响应区:元信息行(状态/耗时/大小)+ 操作(复制/下载)+ 虚拟滚动 JSON 视图 - */ +/** * 单接口完整面板:信息行 → 注意事项折叠 → sk-key 输入 + 发送按钮 → 响应区 * * sk-key 存在 +bench-store(每 tab 独立、无持久化、随刷新重置): * 2026-09 起从组件局部 ref 提升——EndpointPanel 随 +tab 切换卸载重建, * 局部 ref 会在切回时丢输入;store 持有则切 tab 保留(数据仍由 Query 缓存兜底) * +响应区:元信息行(状态/耗时/大小)+ 操作(复制/下载)+ 虚拟滚动 JSON 视图 */