mirror of
https://github.com/HackPlan/UUI.git
synced 2026-01-13 07:09:35 +08:00
update docs
This commit is contained in:
@@ -357,6 +357,26 @@ function Demo() {
|
||||
|
||||
这个主要是给使用者需要完全自定义样式的时候使用,修改了 prefix 或者 separator 之后,UUI 自带的样式就失效了(className 全部改变了,而 UUI 自带的样式根据这些 className 实现)
|
||||
|
||||
### Props.customize 数据流合并
|
||||
|
||||
UUI 可以在多处传入 customize 定制数据,这些定制数据会以一定规则合并为一份数据并应用到最终网页DOM中。
|
||||
|
||||
数据流合并优先级由高到低如下:
|
||||
|
||||
1. 使用者对单个组件传入的 customize;
|
||||
2. 使用者对单个组件传入的 ConniventProps { className, style, id, data-*, aria-* };
|
||||
3. 使用者使用 UUIComponentProxy 提供的局部 customize;
|
||||
4. 使用者使用 UUIProvider 提供的全局 customize;
|
||||
5. 开发者在 UUI 组件中使用其他 UUI 组件作为子节点(ComponentNode),传入的 customize;
|
||||
6. 开发者在 UUI 组件中使用的 IntrinsicNode 传入的 className, style, id, data-*, aria-*。
|
||||
|
||||
customize 合并细节:
|
||||
|
||||
* 对于 `extendClassName`,总是附加在当前 className 之后;
|
||||
* 对于 `extendStyle`,按优先级进行对象合并;
|
||||
* 对于 `extendChildrenBefore`,总是附加在当前 ReactNode 之前;
|
||||
* 对于 `extendChildrenAfter`,总是附加在当前 ReactNode 之后。
|
||||
|
||||
## 组件
|
||||
|
||||
* 所有组件以受控模式(Controlled Mode)实现,唯一例外,表单相关的组件同时还支持非受控模式(Uncontrolled Mode)。
|
||||
|
||||
@@ -34,11 +34,9 @@ UUI 的组件功能和样式是完全独立的(除了部分组件需要通过
|
||||
sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
|
||||
></iframe>
|
||||
|
||||
3. **使用 UUIProvider 的 customize 来定义自定义样式**
|
||||
3. **使用 UUIProvider**
|
||||
|
||||
传入 React 的内联样式 React.CSSProperties 来定制组件样式。
|
||||
|
||||
在项目中使用 UUIProvider 组件,定义 globalCustomize 样式数据,并且传入 UUIProvider.customize。
|
||||
使用 UUIProvider.customize 来进行全局样式定制。
|
||||
|
||||
<iframe src="https://codesandbox.io/embed/uui-global-css-customize-forked-5gzyn?fontsize=14&hidenavigation=1&theme=dark"
|
||||
style="width:100%; height:500px; border:0; border-radius: 4px; overflow:hidden;"
|
||||
|
||||
Reference in New Issue
Block a user