UNPKG

@ant-design/react-native

Version:

基于蚂蚁金服移动设计规范的 React Native 组件库

207 lines (186 loc) 6.82 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.description = exports.title = undefined; var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactNative = require('react-native'); var _ = require('..'); var _2 = _interopRequireDefault(_); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var renderContent = function renderContent(tab, index) { var style = { paddingVertical: 40, justifyContent: 'center', alignItems: 'center', margin: 10, backgroundColor: '#ddd' }; var content = [1, 2, 3, 4, 5, 6, 7, 8].map(function (i) { return _react2['default'].createElement( _reactNative.View, { key: index + '_' + i, style: style }, _react2['default'].createElement( _reactNative.Text, null, tab.title, ' - ', i ) ); }); return _react2['default'].createElement( _reactNative.ScrollView, { style: { backgroundColor: '#fff' } }, content ); }; /* tslint:disable:no-console */ var BasicTabsExample = function (_React$Component) { (0, _inherits3['default'])(BasicTabsExample, _React$Component); function BasicTabsExample() { (0, _classCallCheck3['default'])(this, BasicTabsExample); return (0, _possibleConstructorReturn3['default'])(this, (BasicTabsExample.__proto__ || Object.getPrototypeOf(BasicTabsExample)).apply(this, arguments)); } (0, _createClass3['default'])(BasicTabsExample, [{ key: 'render', value: function render() { var tabs = [{ title: 'First Tab' }, { title: 'Second Tab' }, { title: 'Third Tab' }]; var tabs2 = [{ title: '1st Tab' }, { title: '2nd Tab' }, { title: '3rd Tab' }, { title: '4th Tab' }, { title: '5th Tab' }, { title: '6th Tab' }, { title: '7th Tab' }, { title: '8th Tab' }, { title: '9th Tab' }]; var style = { alignItems: 'center', justifyContent: 'center', height: 150, backgroundColor: '#fff' }; return _react2['default'].createElement( _reactNative.View, { style: { flex: 1 } }, _react2['default'].createElement( _2['default'], { tabs: tabs }, _react2['default'].createElement( _reactNative.View, { style: style }, _react2['default'].createElement( _reactNative.Text, null, 'Content of First Tab' ) ), _react2['default'].createElement( _reactNative.View, { style: style }, _react2['default'].createElement( _reactNative.Text, null, 'Content of Second Tab' ) ), _react2['default'].createElement( _reactNative.View, { style: style }, _react2['default'].createElement( _reactNative.Text, null, 'Content of Third Tab' ) ) ), _react2['default'].createElement( _reactNative.Text, { style: { margin: 16 } }, 'Custom RenderTabBar' ), _react2['default'].createElement( _2['default'], { tabs: tabs, renderTabBar: function renderTabBar(tabProps) { return _react2['default'].createElement( _reactNative.View, { style: { paddingHorizontal: 16, flexDirection: 'row', alignItems: 'center', justifyContent: 'space-evenly' } }, tabProps.tabs.map(function (tab, i) { return ( // change the style to fit your needs _react2['default'].createElement( _reactNative.TouchableOpacity, { activeOpacity: 0.9, key: tab.key || i, style: { // width: '30%', padding: 6 }, onPress: function onPress() { var goToTab = tabProps.goToTab, onTabClick = tabProps.onTabClick; // tslint:disable-next-line:no-unused-expression onTabClick && onTabClick(tabs[i], i); // tslint:disable-next-line:no-unused-expression goToTab && goToTab(i); } }, _react2['default'].createElement( _reactNative.Text, { style: { color: tabProps.activeTab === i ? 'green' : undefined } }, tab.title ) ) ); }) ); } }, _react2['default'].createElement( _reactNative.View, { style: style }, _react2['default'].createElement( _reactNative.Text, null, 'Content of First Tab' ) ), _react2['default'].createElement( _reactNative.View, { style: style }, _react2['default'].createElement( _reactNative.Text, null, 'Content of Second Tab' ) ), _react2['default'].createElement( _reactNative.View, { style: style }, _react2['default'].createElement( _reactNative.Text, null, 'Content of Third Tab' ) ) ), _react2['default'].createElement( _reactNative.View, { style: { flex: 2 } }, _react2['default'].createElement( _2['default'], { tabs: tabs2, initialPage: 1, tabBarPosition: 'top' }, renderContent ) ) ); } }]); return BasicTabsExample; }(_react2['default'].Component); exports['default'] = BasicTabsExample; var title = exports.title = 'Tabs'; var description = exports.description = 'Tabs example';