Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ [Feature]: Menu 组件优化 #1895

Open
3 tasks
CoderSerio opened this issue Jun 18, 2024 · 0 comments
Open
3 tasks

✨ [Feature]: Menu 组件优化 #1895

CoderSerio opened this issue Jun 18, 2024 · 0 comments
Labels
enhancement Feature enhancement refactoring Refactor code

Comments

@CoderSerio
Copy link

CoderSerio commented Jun 18, 2024

What problem does this feature solve

背景

Menu 组件的应用场景较多,比如作为 Navbar、Sidebar 或者一些二级控件。
但就目前而言,Menu 组件存在许多零零散散的问题,不能让开发者快速实现上述场景需求。

问题案例

  1. API 名称规范方面,Menu 组件提供了 width API 却没有 height——这里引申出的 API 规范化的问题,会在另一个 issue 中进一步讨论
  2. 文档方面,部分重要的 API 如 router 缺乏 demo,简短的文字描述可能会让开发者产生错误的理解:

image

  1. 风格上,目前更偏向于类似 React 受控组件,或许应该与 Vue 的 v-model 双向绑定有更好的配合?
  2. 自定义渲染方面上,虽然提供了自定义插槽,但是还不够方便,比如这里只是想去掉激活态的下划线,貌似就只能用 MenuItem 插槽替换整个默认项,再通过手动获取上下文又处理一大堆逻辑来判断当前项是否为激活态——其实可以再拆出一个 ActiveMenuItem 插槽,就能节省很多工作量。

image

What does the proposed API look like

任务列表

基于上述问题,我们或许可以做以下改进:

  • 规范化 API 及其名称 —— 这个事项放到另一个 issue 讨论(✨ [Feature]: API 风格规范化 #1896
  • 文档补充,补全重要的 API 的文档 demo,并根据实际情况考虑提供更为细致的文字描述
  • 补充更偏向于 Vue 双向绑定风格的 API
  • 重构插槽,更细粒度地处理不同状态
@fu050409 fu050409 added enhancement Feature enhancement refactoring Refactor code labels Jun 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Feature enhancement refactoring Refactor code
Projects
None yet
Development

No branches or pull requests

2 participants