Skip to content

[finding] components 里有第二个 action param 对话框实现,完全不经共享 evaluator —— 逐选项 visibleWhen 在该 surface 根本不参与;连带 ctx.formValues/data 回退链全仓无生产者 #4758

Description

@yinlianghui

发现于 #3765 的实施(PR #4756),回传立单。observation-class:生产代码无人引用,今天无用户受害。

事实一:重复实现

packages/components/src/custom/action-param-dialog.tsx第二个 action param 对话框实现,从 components 的 custom barrel 导出(:21,已发布 API)。它用裸 Radix Select 直接 param.options?.map(...) 渲染(:257),完全不经过共享 evaluator —— 逐选项 visibleWhen 在这个 surface 上不是算错,是根本不参与(全给)。仓内仅其自身 4 个测试 import,生产代码零引用。

待裁:删除(retirement 流程,已发布 API 需按 breaking 纪律)还是并到 app-shell 的共享路径。与 #3765/PR #4756 修的主对话框是平行实现,不修它则 B 案语义在已发布 API 面上不成立。

事实二:回退链无生产者(unexercised drift)

useCascadingOptions.ts:38LookupField.tsx:329 回退链里的 ctx.formValues / ctx.data 在本仓没有任何生产者 —— SchemaRendererContextType 只声明 dataSource/debug/debugFlags/apiFetch,全仓 grep 不到写入者。含义:#3765 里 A 案的前提(「页面记录参与求值」)实践中基本等于 {};PR #4756 的钉子用显式构造的 context 钉住了链本身(host 若供仍生效),所以不是死代码,但今天无人喂。将来裁「链保留还是收敛」时以此为据。

参考

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions