@huibo-ui/react-antd 1.0.14 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/Layout.js +11 -6
- package/package.json +1 -1
package/lib/components/Layout.js
CHANGED
|
@@ -10,7 +10,10 @@ export function Layout(props) {
|
|
|
10
10
|
display: 'flex',
|
|
11
11
|
flexDirection: siderDetected ? 'row' : 'column',
|
|
12
12
|
flex: 1,
|
|
13
|
-
|
|
13
|
+
// 对齐 antd .ant-layout { min-height: 100vh }:最外层 Layout 在非 flex 父容器
|
|
14
|
+
// (如 #root)里时,flex:1 不生效,用 min-height:100vh 兜底撑满视口。
|
|
15
|
+
// 内层 Layout 会被 flex 父的 height 约束覆盖(minHeight 仅是下限,不破坏布局)。
|
|
16
|
+
minHeight: '100vh',
|
|
14
17
|
width: '100%',
|
|
15
18
|
...style,
|
|
16
19
|
};
|
|
@@ -34,14 +37,16 @@ Layout.Sider = function Sider({ children, style, className, collapsed, theme, wi
|
|
|
34
37
|
*
|
|
35
38
|
* 对齐 antd .ant-layout-content(flex: auto + min-height: 0)。
|
|
36
39
|
*
|
|
37
|
-
*
|
|
38
|
-
* height
|
|
39
|
-
*
|
|
40
|
+
* 当消费方传入 height:'auto'(常见脆弱写法)时,替换为 height:0:
|
|
41
|
+
* flex item 的 height 指定值为 auto 会导致子元素 height:100% 解析失败
|
|
42
|
+
* (浏览器 quirk:flex item 的 auto height 不能被子元素百分比解析)。
|
|
43
|
+
* 设为 0(确定值)后,flex 算法仍会按 flex-grow 分配实际高度,且子元素
|
|
44
|
+
* height:100% 能正确解析为分配后的 used value(如全屏背景图场景)。
|
|
40
45
|
*/
|
|
41
46
|
Layout.Content = function Content({ children, style, className }) {
|
|
42
47
|
const { height, ...restStyle } = style || {};
|
|
43
|
-
//
|
|
44
|
-
const filteredStyle = height === 'auto' ? restStyle : style;
|
|
48
|
+
// height:'auto' → height:0(修正 flex 百分比高度解析 quirk);其它值保留
|
|
49
|
+
const filteredStyle = height === 'auto' ? { ...restStyle, height: 0 } : style;
|
|
45
50
|
return (_jsx("div", { style: { flex: '1 1 auto', minWidth: 0, minHeight: 0, ...filteredStyle }, className: className, children: children }));
|
|
46
51
|
};
|
|
47
52
|
/**
|