1.0.4 • Published 8 years ago
ray-rn-collapse v1.0.4
ray-rn-collapse
author
ilex.h
Install
npm i --save ray-rn-collapseUsage
basic
import React, { Component } from 'react';
import Collapse from 'ray-rn-collapse';
// easing: linear、easeInQuad、easeOutQuad、easeInOutQuad、easeInCubic、easeOutCubic...
const datas = [ 0, 1, 2, 3, 4, 5 ];
class BasicDemo extends Component {
constructor(props) {
super(props);
const ds = new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 });
this.state = {
dataSource: ds.cloneWithRows(datas)
};
}
_renderRow() {
const header = (
<View style={...}>
<Text>展开</Text>
</View>
);
const content = (
<View style={...}>
<Text>内容区域</Text>
</View>
);
return (
<Collapse
header={header}
content={content}
easing="easeInOutQuad"
/>
);
}
render() {
return (
<ListView
dataSource={this.state.dataSource}
renderRow={this._renderRow}
/>
);
}
}Props
The following props can be used to modify the Accordion's style and/or behaviour:
| Prop | Type | Opt/Required | Default | Note |
|---|---|---|---|---|
| activeOpacity | number | 可选 | 1 | active透明度 TouchableHighlight. |
| animationDuration | number | 可选 | 300 | 动画持续时间 |
| content | node|element | 可选 | - | 面板内容 |
| contentWrapperStyle | object | 可选 | - | 面板内容外层view样式 |
| emptyContent | node|element!string | 可选 | Empty content | 默认空数据 |
| easing | string | 可选 | linear | 缓动函数. |
| expanded | boolean | 可选 | false | 是否展开(初始时默认展开则设置为true) |
| disabled | boolean | 可选 | false | 禁用展开 |
| showPressAnim | boolean | 可选 | true | 点击展开时是否显示视觉反馈 |
| header | node|element | 必填 | - | 面板头内容 |
| onPress | function | 可选 | - | press事件. |
| underlayColor | string | 可选 | #000 | 按下颜色 TouchableHighlight. |
| style | object | 可选 | {} | The styles you want to set on the accordion element. |
Methods
The following methods can be used to open and close the collapse panel:
| Method | Parameters | Note |
|---|---|---|
| open | - | Open the collapse. |
| close | - | Close the collapse. |
| toggle | - | Toggle the collapse. |
<Collapse
ref={coll => this.coll = coll}
header={header}
content={content}
easing="easeInOutQuad"
/>
this.coll.open();
this.coll.close();
this.coll.toggle();License
MIT