栅格布局,使用display: grid,1.19.0+ 添加本组件,目前不支持IE。
device 处于 desktop 模式,此时 columns 为12列;device 参数为 tablet 后 columns 为8列;device 参数为 phone 后 columns 为4列,同时 Cell会根据内置规则进行自适应调配。自定义组件的间距是 ResponsiveGrid 算出来,同style透传给子组件的,因此子组件需要至少透传style属性;
// wrong
function Foo() {
return <div />;
}
// correct
function Foo({ style }) {
return <div style={style} />;
}
简单的栅格布局展示,Fusion Next推荐以PC为主要开发场景,自适配平板、手机端。默认使用12栅格布局。
只需进行如下设置,页面内容就可以根据自适应,遵循 12-8-4 设计原则。
| 参数 | 说明 | 类型 | 默认值 | 是否必填 |
|---|---|---|---|---|
| device | 设备,用来做自适应,默认为 PC | 'phone' | 'tablet' | 'desktop' | 'desktop' | |
| columns | 分为几列, 默认是 12 列 | number | string | '12' | |
| gap | 每个 cell 之间的间距, [bottom&top, right&left] | Spacing | - | |
| component | 设置标签类型 | keyof React.JSX.IntrinsicElements | 'div' | |
| dense | 是否开启紧密模式,开启后尽可能能紧密填满,尽量不出现空格 | boolean | 'false' |
| 参数 | 说明 | 类型 | 默认值 | 是否必填 |
|---|---|---|---|---|
| colSpan | 横向,占据几列 | | number | { desktop?: number; tablet?: number; phone?: number; } |
- | |
| rowSpan | 纵向,占据几行 | number | - | |
| component | 设置标签类型 | keyof React.JSX.IntrinsicElements | 'div' |