0.1.1 • Published 10 months ago

@kne/flex-box v0.1.1

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months ago

flex-box

描述

通过外部容器尺寸来确定内部容器的列

安装

npm i --save @kne/flex-box

示例

示例代码

  • 这里填写示例标题
  • 这里填写示例说明
  • _FlexBox(@kne/current-lib_flex-box),antd(antd)
const {default:FlexBox} = _FlexBox;
const { Card } = antd;

const BaseExample = () => {
    return (
        <FlexBox
            dataSource={[
                {
                    title: "Title 1",
                },
                {
                    title: "Title 2",
                },
                {
                    title: "Title 3",
                },
                {
                    title: "Title 4",
                },
                {
                    title: "Title 5",
                },
                {
                    title: "Title 6",
                },
            ]}
            renderItem={(item) => (
                <FlexBox.Item>
                    <Card title={item.title}>Card content</Card>
                </FlexBox.Item>
            )}
        />
    );
};

render(<BaseExample />);
  • 这里填写示例标题
  • 这里填写示例说明
  • _FlexBox(@kne/current-lib_flex-box),antd(antd)
const {FlexBoxFetch} = _FlexBox;
const {Card, Button} = antd;
const {useRef} = React;
const BaseExample = () => {
    const ref = useRef();
    return (<div>
        <FlexBoxFetch
            ref={ref}
            pagination={{ position: 'bottom', align: 'center' }}
            getFetchApi={({size}) => {
                return {
                    data: {
                        pageSize: size,
                    }, loader: ({data}) => {
                        return new Promise((resolve) => {
                            setTimeout(() => {
                                resolve({
                                    pageData: Array.from({length: data.pageSize}).map((item, index) => {
                                        return {
                                            key: index, title: `第${index}项`,
                                        };
                                    }),
                                });
                            }, 1000);
                        });
                    },
                };
            }}
            renderItem={(item) => (<FlexBoxFetch.Item>
                <Card title={item.title}>Card content</Card>
            </FlexBoxFetch.Item>)}
        />
        <Button
            onClick={() => {
                console.log(ref.current);
            }}
        >
            获取FetchApi
        </Button>
    </div>);
};

render(<BaseExample/>);

API

useFlexBox

const {ref, column} = useFlexBox(props);

注意:返回的 ref 必须传给一个 dom 的 ref

继承了Ant Design List props的参数,同时也新增了两个参数:

属性名说明类型默认值
columns实际用于 ListgridcolumnProps[]defaultColumns
onChange设置 column(column) => onChange()-

columnProps

默认值:

属性名说明类型默认值
width视口宽度number-
col列数number-
size根据 col 列数填每页数据加载多少条number-
  defaultColumns = [
    {width: 576, col: 1, size: 15},
    {width: 768, col: 2, size: 12},
    {width: 1200, col: 4, size: 12},
    {width: 1600, col: 5, size: 15}
  ]

FlexBox

useFlexBox 参数

属性名说明类型默认值
outerClassNameFlexBox 父元素的 classNamestring-
gutter栅格间隔number16

FlexBox.Item

Ant Design List.Item

0.1.0

10 months ago

0.1.1

10 months ago

0.1.0-alpha.0

10 months ago