-
Notifications
You must be signed in to change notification settings - Fork 1
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
Shell 子组件嵌套方式讨论 #2
Comments
组件结构布局即 DOM 结构布局,符合认知习惯; 方式1平铺组件,不利于感知真实的DOM结构,修改Header组件样式还需要用户自己去寻找真实的header dom在哪里,有点反常和不方便。 |
单层模式:Shell是一个中台体系下的设计强约束性组件,与传统Layout的区别在于,每一个Shell组件/子组件都有它的含义、固定位置、固定UI设置,在不同device下有约定的样式展示。现有的Shell一定无法覆盖所有场景,需要不断迭代。 优点:
缺点:
嵌套模式嵌套模式用的是传统Layout,用户关心布局,自适应能力有限,也需要用户自己做。 另外关于自定义Header区域样式的问题,我的看法是这样的:Shell的这层设计约束就是为了减少不确定性的。之所以开放了Branding/ Navigation / Action 而没有开放Header,是因为目前在设计层面上不认为它是必要的,一切对于Header的改造都应该可以通过主题配置、API使用来解决。 支持按照现在的逻辑,采用单层模式 |
从自适应布局方面考虑,确实不应该采用嵌套模式,无法完整表述组件在各种布局下的嵌套关系。 但希望在 Shell 层面,能开放一些定义 header / aside / main 属性的口子,在合适的时机应用上去,比如 headerProps / asideProps / mainProps。 |
话说这些props是准备解决哪些问题的呢? 如果是样式问题,可以通过提需求,让Shell增加配置项来解决。Shell会纳入到基础组件体系里,并且增加种类配置项(比如button有normal secondary primary等多种类),支持定义不同的模版(例如深色header浅色aside、浅色header深色asider等多种组合) 这样能解决你的问题么 @micate |
The text was updated successfully, but these errors were encountered: