|
|
2 meses atrás | |
|---|---|---|
| .. | ||
| assets | 2 meses atrás | |
| es | 2 meses atrás | |
| lib | 2 meses atrás | |
| LICENSE.md | 2 meses atrás | |
| README.md | 2 meses atrás | |
| package.json | 2 meses atrás | |
rc-collapse ui component for react
http://react-component.github.io/collapse/
var Collapse = require('rc-collapse');
var Panel = Collapse.Panel;
var React = require('react');
var ReactDOM = require('react-dom');
require('rc-collapse/assets/index.css');
var App = (
<Collapse accordion={true}>
<Panel header="hello" headerClass="my-header-class">
this is panel content
</Panel>
<Panel header="title2">this is panel content2 or other</Panel>
</Collapse>
);
ReactDOM.render(App, container);
| name | type | default | description |
|---|---|---|---|
| activeKey | String|Array | The first panel key | current active Panel key |
| className | String or object | custom className to apply | |
| defaultActiveKey | String|Array | null | default active key |
| destroyInactivePanel | Boolean | false | If destroy the panel which not active, default false. |
| accordion | Boolean | false | accordion mode, default is null, is collapse mode |
| onChange | Function(key) | noop | called when collapse Panel is changed |
| expandIcon | (props: PanelProps) => ReactNode | specific the custom expand icon. | |
| collapsible | 'header' | 'icon' | 'disabled' | - | specify whether the panel of children is collapsible or the area of collapsible. |
| items | interface.ts#ItemType | - | collapse items content |
| name | type | default | description |
|---|---|---|---|
| header | String or node | header content of Panel | |
| headerClass | String | ' ' | custom className to apply to header |
| showArrow | boolean | true | show arrow beside header |
| className | String or object | custom className to apply | |
| classNames | { header?: string, body?: string } | Semantic structure className | |
| style | object | custom style | |
| styles | { header?: React.CSSProperties, body?: React.CSSProperties } | Semantic structure styles | |
| openMotion | object | set the animation of open behavior, [more](https://github.com/react-component/motion). Different with v2, closed pane use a `rc-collapse-content-hidden` class to set `display: none` for hidden. | |
| forceRender | boolean | false | forced render of content in panel, not lazy render after clicking on header |
| extra | String | ReactNode | Content to render in the right of the panel header | |
| collapsible | 'header' | 'icon' | 'disabled' | - | specify whether the panel be collapsible or the area of collapsible. |
disabledis removed since 3.0.0, please usecollapsible=disabledreplace it.
If key is not provided, the panel's index will be used instead.
By default, Collapse will listen onKeyDown(<3.7.0 onKeyPress) event with enter key to toggle panel's active state when collapsible is not disabled. If you want to disable this behavior, you can prevent the event from bubbling like this:
const App = () => {
const items: CollapseProps['items'] = [
{
label: <input onKeyDown={(e) => e.stopPropagation()} />,
children: 'content',
},
{
label: (
<div onKeyDown={(e) => e.stopPropagation()}>
<CustomComponent />
</div>
),
children: 'content',
},
{
label: 'title 2',
children: 'content 2',
collapsible: 'disabled',
},
{
label: 'title 3',
children: 'content 3',
onItemClick: console.log,
},
];
return <Collapse items={items} />;
};
npm install
npm start
npm test
npm test -- --coverage
rc-collapse is released under the MIT license.