【React Native】文件翻譯閱讀紀錄 - Components(組件) - Modal

by - 上午9:00

Facebook Open Source React Native


Modal

Modal 組件是一種在封閉視圖上方顯示內容的簡單方法。

注意:如果您需要更多地控制如何在應用程序的其餘部分上顯示模態,請考慮使用頂級導航器。
import React, {Component} from 'react';
import {Modal, Text, TouchableHighlight, View} from 'react-native';

class ModalExample extends Component {
  state = {
    modalVisible: false,
  };

  setModalVisible(visible) {
    this.setState({modalVisible: visible});
  }

  render() {
    return (
      <View style={{marginTop: 22}}>
        <Modal
          animationType="slide"
          transparent={false}
          visible={this.state.modalVisible}
          onRequestClose={() => {
            alert('Modal has been closed.');
          }}>
          <View style={{marginTop: 22}}>
            <View>
              <Text>Hello World!</Text>

              <TouchableHighlight
                onPress={() => {
                  this.setModalVisible(!this.state.modalVisible);
                }}>
                <Text>Hide Modal</Text>
              </TouchableHighlight>
            </View>
          </View>
        </Modal>

        <TouchableHighlight
          onPress={() => {
            this.setModalVisible(true);
          }}>
          <Text>Show Modal</Text>
        </TouchableHighlight>
      </View>
    );
  }
}

Props


Reference

Props

visible

可見道具確定您的模態是否可見。
TYPEREQUIRED
boolNo

supportedOrientations

supportedOrientations prop允許將模態旋轉到任何指定的方向。在iOS上,模式仍受限於應用程序的Info.plist的UISupportedInterfaceOrientations字段中指定的內容。使用pageSheet或formSheet的presentationStyle時,iOS將忽略此屬性。
TYPEREQUIREDPLATFORM
array of enum('portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right')NoiOS

onRequestClose

當用戶點擊Android上的硬件返回按鈕或Apple TV上的菜單按鈕時,將調用onRequestClose回調。由於這個必需的道具,請注意只要模態打開,就不會發出BackHandler事件。
TYPEREQUIREDPLATFORM
functionYesAndroid, Platform.isTVOS
functionNo(Others)

onShow

onShow prop允許傳遞一個函數,該函數將在模態顯示後調用。
TYPEREQUIRED
functionNo

transparent

透明道具確定您的模態是否會填滿整個視圖。將此設置為true將在透明背景上呈現模態。
TYPEREQUIRED
boolNo

animationType

animationType prop控制模態動畫的方式。
  • slide 滑動從底部滑入
  • fade 淡入淡出視野
  • none 沒有動畫就會出現
默認設置為無。
TYPEREQUIRED
enum('none', 'slide', 'fade')No

hardwareAccelerated

hardwareAccelerated prop 控制是否強制基礎窗口的硬件加速。
TYPEREQUIREDPLATFORM
boolNoAndroid

onDismiss

onDismiss prop允許傳遞一個在模態被解除後將被調用的函數。
TYPEREQUIREDPLATFORM
functionNoiOS

onOrientationChange

在顯示模態時方向更改時,將調用onOrientationChange回調。提供的方向僅為“肖像”或“風景”。無論當前方向如何,也會在初始渲染時調用此回調。
TYPEREQUIREDPLATFORM
functionNoiOS

presentationStyle

presentationStyle prop控制模式的顯示方式(通常在較大的設備上,如iPad或加大尺寸的iPhone)。有關詳細信息,請參閱 https://developer.apple.com/reference/uikit/uimodalpresentationstyle .
  • fullScreen 完全覆蓋屏幕
  • pageSheet 包含居中的縱向寬度視圖(僅適用於較大的設備)
  • formSheet 包含居中的窄寬視圖(僅適用於較大的設備)
  • overFullScreen 完全覆蓋屏幕,但允許透明度
默認設置為overFullScreen或fullScreen,具體取決於透明屬性。
TYPEREQUIREDPLATFORM
enum('fullScreen', 'pageSheet', 'formSheet', 'overFullScreen')NoiOS





You May Also Like

0 意見