MultiSelect 开放 menuItemVariant='checkmark' 并设为默认(WEB-1201)
版本: 0.7.0 · 类型: ✨ Feature
问题
SearchableOptionItem 早已实现三种菜单项风格 —— 'checkmark' | 'checkmark-right' | 'checkbox',其中 'checkmark' 在 item 左侧渲染对勾(有前导 icon 时自动移到右侧)。但 MultiSelect.menuItemVariant 通过 Extract 把联合收窄为 'checkmark-right' | 'checkbox',把 'checkmark' 挡在公开 API 之外,导致多选无法在 item 上展示左侧对勾。同时按设计结论 checkmark / checkbox 默认在左,MultiSelect 却把默认值定为右置的 checkmark-right。
改动文件
packages/design/src/components/Select/MultiSelect.tsxpackages/design/src/components/Select/SelectDesignSpec.mdpackages/design/src/components/Select/__tests__/MultiSelect.test.tsx
改动内容
- 将
MultiSelect.menuItemVariant的Extract联合从'checkmark-right' | 'checkbox'拓宽为'checkmark' | 'checkmark-right' | 'checkbox',并在 JSDoc 中说明各取值的 indicator 位置。渲染层无需改动 ——MultiSelect本就把menuItemVariant原样透传给SearchableOptionItem的variant。 - 将默认
menuItemVariant从'checkmark-right'改为'checkmark'(左置对勾),对齐设计默认口径。行为变更:此前依赖隐式右置对勾的调用方需显式传menuItemVariant="checkmark-right"(当前仓库无使用点,无回归)。 - 同步
SelectDesignSpec.md的 prop 取值与默认说明。 - 补充单测:默认(
checkmark)无 icon 时对勾在左、未选中时左槽为空、有前导icon时对勾移到右侧。 - 文档站
select.mdx「Menu Item Variants」改为 variant × icon 排列组合矩阵,并更新 Props 表类型与默认值(见 design-site 文档)。