SlideModal

继承自 Modal 组件,属于 Modal 系列。

Install

  1. npm install beeshell

Usage

引入方式

全部引入

  1. import { SlideModal } from 'beeshell';

单独引入

  1. import SlideModal from 'beeshell/components/Modal/extensions/SlideModal';

Examples

基础

image

弹出内容比较简陋,完全由用户自定义内容。与 Modal 父类的主要区别是样式和动画,样式上位置自定义;动画上是 Slide 效果。

Beeshell 对于动画的部分使用了策略模式来集成,Modal 使用 FadeAnimated 类型,而 SlideModal 则使用了 SlideAnimated 类型。

自定义位置与动画方向

image

Code

  1. import { SlideModal } from 'beeshell';
  2. class App extends React.Component {
  3. render() {
  4. <View>
  5. <TouchableOpacity
  6. onPress={() => {
  7. this._slideModal.open();
  8. }}>
  9. <Text>基础用法</Text>
  10. </TouchableOpacity>
  11. <SlideModal
  12. ref={(c) => { this._slideModal = c; }}
  13. cancelable={true}>
  14. <View>
  15. <Text>ref 获取组件实例</Text>
  16. <Text>
  17. cancelable={'{'}true{'}'}
  18. 点击蒙层消
  19. </Text>
  20. </View>
  21. </SlideModal>
  22. </View>
  23. }
  24. }

Props

Name Type Required Default Description
cancelable Boolean false true 点击蒙层是否消失
offsetX Number false 0 距离屏幕左边距离,默认是 0
offsetY Number false Dimensions.get(‘window’).height 距离屏幕顶部距离,默认是屏幕的高度,即从底部弹出
compatStatusBarCurrentHeight Boolean false false 是否兼容状态栏高度,根据实际情况配置
width Number false null 弹出内容的宽度,默认根据子元素内容而定
direction String false ‘up’ 动画的方向 ‘up’ 上拉,’down’ 下拉

Methods

.open()

打开弹窗。

  1. this._slideModal.open();

.close()

关闭弹窗。

  1. this._slideModal.close();

其他

继承 Modal 组件的所有 Props、Methods。