1.1.1 • Published 5 years ago

react-native-form-sheet v1.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

React Native Form Sheet

A native dialog solution for React Native (wrapper over MZFormSheetPresentationController and Dialogs).

React Native Form Sheet

Getting started

$ yarn add react-native-form-sheet
$ cd ios && pod install && cd .. # CocoaPods on iOS needs this extra step

Warning

This component only applies to projects made with react-native init or to those made with Create React Native App which have since ejected. For more information about ejecting, please see the guide on the Create React Native App repository.

Basic Usage

App.js

import React, { Component } from 'react';
import { Text, View, StyleSheet, Button } from 'react-native';
import FormSheet from 'react-native-form-sheet';

export default class App extends Component {

  presentFormSheet = () => {
    FormSheet.present({component: 'ModalView', width: 280, height: 380})
  }

  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Button onPress={this.presentFormSheet} title='Show FormSheet' />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
});

ModalView.js

import React, { Component } from 'react'
import { Button, View, Text, StyleSheet }from 'react-native'
import FormSheet from 'react-native-form-sheet';

export default class ModalView extends Component {

  dismiss = () => {
    FormSheet.dismiss()
  }

  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.h1}>Hello</Text>
        <Text style={styles.p}>This is modal!</Text>
        <Button onPress={this.dismiss} title='Dismiss' />
      </View>
    )
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
  h1: {
    fontSize: 28,
    paddingBottom: 10,
  },
  p: {
    fontSize: 18,
    paddingBottom: 10,
    textAlign: 'center',
  }
})

Methods

present(options)

Show a React Native View inside a dialog.

  • component: Component to visit. (Required)
  • width: Dialog width (Required).
  • height: Dialog height (Required).
  • shouldDismissOnBackgroundViewTap: A boolean to disable dismiss dialog when tap outside. (Default true).
  • passProps: Props to the rendered component.

dismiss()

Dismiss dialog.

1.1.1

5 years ago

1.1.0

5 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago