packages/rc-components/rc-table/stories/withAppLayout.tsx (116 lines of code) (raw):

import React from 'react' import { HashRouter } from 'dva/router' import { Button, Badge } from '@alicloud/console-components' import ConsoleMenu from '@alicloud/console-components-console-menu' import Page from '@alicloud/console-components-page' import Table from '@alicloud/console-components-table' import { TableProps } from '@alicloud/console-components/types/table' import AppLayout from '@alicloud/console-components-app-layout' const dataSource = (() => new Array(100).fill(true).map((item, i) => ({ id: i + 1, name: `Wind-table-item-${i}`, repo: 'https://wind.alibaba-inc.com/', })))() const columns = [ { dataIndex: 'name', title: 'Name', }, { dataIndex: 'repo', title: 'Repository', }, ] const rowSelection: TableProps['rowSelection'] & { UNSTABLE_defaultSelectedRowKeys?: any[] } = { getProps: (item: any, i: number) => ({ disabled: i % 2 === 0 }), UNSTABLE_defaultSelectedRowKeys: [1, 2], mode: 'multiple', } const items = [ { label: 'Instance', key: '/instance', }, { label: 'Monitor', key: '/monitor', }, { label: 'Cases', key: '/cases', }, { label: 'Manage', key: '/manage', }, { label: 'Settings', key: '/settings', }, { label: 'Profile', key: '/profile', }, { label: 'Routes', key: '/routes', }, ] const Nav = () => <ConsoleMenu header="Aliyun Console" items={items} /> const Operation = () => ( <> <Button type="primary" disabled> Create </Button> <Button>Refresh</Button> </> ) const Basic: React.FC<{}> = () => { return ( <HashRouter> <AppLayout nav={<Nav />}> <Page> <Page.Header title="阿里云控制台" /> <Page.Content> <Table exact fixedBarExpandWidth={[24]} affixActionBar dataSource={dataSource} columns={columns} rowSelection={rowSelection} primaryKey="id" operation={Operation} search={{ filter: [ { value: 'InstanceName', label: 'By Instance Name', }, ], }} pagination={{ current: 1, total: 80, pageSize: 10, }} selection={({ selectedRowKeys }: any) => ( <> <Badge count={selectedRowKeys.length}> <Button disabled={selectedRowKeys.length === 0}> Delete </Button> </Badge> </> )} /> </Page.Content> </Page> </AppLayout> </HashRouter> ) } export default Basic