antd-mobile
Version:
基于 React 的移动设计规范实现
151 lines (136 loc) • 5.59 kB
JavaScript
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);
;