react-native + teasetDrawer实现侧边菜单

1.代码

/**
 * 购物车
 */
import React,{Component} from ‘react‘;
import {
  View,Image,} from ‘react-native‘;
import { BaseContainer } from ‘../../../components‘;
import Icon from ‘react-native-vector-icons/Ionicons‘; //引入图标
import { Theme,Drawer,ListRow,Button } from ‘teaset‘;
import { images } from ‘../../../res‘;

export default class ShopCarPage extends Component {
  constructor(props) {
    super(props);
  
    this.state = {
      roottransform: ‘none‘
    };
  }

  // 显示或隐藏侧边菜单(抽屉)
  toggleMenu(side){
    let { roottransform } = this.state;
    this.drawer = Drawer.open(this.renderDrawerMenu(),side,roottransform);
  }

  // 侧边菜单(抽屉)
  renderDrawerMenu(){
    return (
      <View style={{backgroundColor: Theme.defaultColor,width: 260,flex: 1}}>
        <View style={{height: 60}} />
        <ListRow
          icon={
            <View style={{paddingRight: 12}}>
              <Image style={{width: 30,height: 30,tintColor: Theme.primaryColor}} source={images.error} />
            </View>
          }
          title=‘User name‘
          />
        <ListRow
          icon={images.error}
          title=‘Home‘
          />
        <ListRow
          icon={images.error}
          title=‘Store‘
          bottomSeparator=‘none‘
          />
        <View style={{flex: 1}} />
        <Button type=‘link‘ size=‘sm‘ title=‘Hide‘ onPress={() => this.drawer && this.drawer.close()} />
      </View>
    );
  }

  render() {
    return (
      <BaseContainer
        hideLeft
        title={‘购物车‘}
        rightView={<Icon name=‘md-home‘ size={30} onPress={() => this.toggleMenu(‘left‘)} />}
      >
      </BaseContainer>
    )
  }
}

2.效果

分享图片

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...