UNPKG

antd-mobile

Version:

基于 React 的移动设计规范实现

151 lines (136 loc) 5.59 kB
import _extends from 'babel-runtime/helpers/extends'; import _classCallCheck from 'babel-runtime/helpers/classCallCheck'; import _createClass from 'babel-runtime/helpers/createClass'; import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn'; import _inherits from 'babel-runtime/helpers/inherits'; import React from 'react'; import { StyleSheet, View, ScrollView, Text } from 'react-native'; import { Drawer, List, Button, WhiteSpace } from 'antd-mobile'; import { DefaultRenderer, Actions } from 'react-native-router-flux'; var styles = StyleSheet.create({ container: { // alignItems: 'center', // justifyContent: 'center', flex: 1 } }); var DrawerExample = function (_React$Component) { _inherits(DrawerExample, _React$Component); function DrawerExample() { _classCallCheck(this, DrawerExample); var _this = _possibleConstructorReturn(this, (DrawerExample.__proto__ || Object.getPrototypeOf(DrawerExample)).apply(this, arguments)); _this.onOpenChange = function (isOpen) { /* tslint:disable: no-console */ console.log('是否打开了 Drawer', isOpen.toString()); Actions.refresh({ key: _this.props.navigationState.key, open: isOpen }); }; return _this; } _createClass(DrawerExample, [{ key: 'render', value: function render() { var _this2 = this; var itemArr = Array.apply(null, Array(20)).map(function (_, i) { return i; }).map(function (_i, index) { if (index === 0) { return React.createElement( List.Item, { key: index, thumb: 'https://zos.alipayobjects.com/rmsportal/eOZidTabPoEbPeU.png', multipleLine: true }, React.createElement( View, { style: { flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' } }, React.createElement( Text, null, '\u5206\u7C7B - ', index ), React.createElement( Button, { type: 'primary', size: 'small', onClick: function onClick() { return _this2.drawer.drawer.closeDrawer(); } }, '\u5173\u95ED drawer' ) ) ); } return React.createElement( List.Item, { key: index, thumb: 'https://zos.alipayobjects.com/rmsportal/eOZidTabPoEbPeU.png' }, React.createElement( Text, null, '\u5206\u7C7B - ', index ) ); }); var sidebar = React.createElement( ScrollView, { style: [styles.container, { backgroundColor: '#fff' }] }, React.createElement( List, null, itemArr ) ); var drawerProps = { position: 'left', onOpenChange: this.onOpenChange }; return React.createElement( Drawer, _extends({ sidebar: sidebar }, drawerProps, { ref: function ref(d) { _this2.drawer = d;DrawerExample.drawer = d; } }), React.createElement(DefaultRenderer, { navigationState: this.props.navigationState.children[0], onNavigate: this.props.onNavigate }) ); } }]); return DrawerExample; }(React.Component); export default DrawerExample; export var DrawerMain = function (_React$Component2) { _inherits(DrawerMain, _React$Component2); function DrawerMain() { _classCallCheck(this, DrawerMain); return _possibleConstructorReturn(this, (DrawerMain.__proto__ || Object.getPrototypeOf(DrawerMain)).apply(this, arguments)); } _createClass(DrawerMain, [{ key: 'componentDidMount', value: function componentDidMount() { var _this4 = this; setTimeout(function () { _this4.drawer = _this4.props.drawerComponent.drawer.drawer; }, 20); } }, { key: 'render', value: function render() { var _this5 = this; return React.createElement( View, { style: { flex: 1, marginTop: 114, padding: 8 } }, React.createElement( Button, { onClick: function onClick() { return _this5.drawer && _this5.drawer.openDrawer(); } }, '\u6253\u5F00 drawer' ), React.createElement(WhiteSpace, null), React.createElement( Button, { onClick: function onClick() { return Actions.pop(); } }, '\u8FD4\u56DE demo list' ) ); } }]); return DrawerMain; }(React.Component); ;