首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改Navigator左按钮的反应-本机在运行时?

问如何更改Navigator左按钮的反应-本机在运行时?
EN

Stack Overflow用户
提问于 2016-11-18 07:16:30
回答 1查看 939关注 0票数 1

我已经启动了以Login.js作为路由组件的Navigtor。登录时,我使用推送方法导航到显示滑动菜单的仪表板屏幕。我已经实现了滑动菜单使用反应-本机-抽屉-布局。Dashbord.js是另一个文件。现在我想控制导航栏的左边按钮。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-11-29 12:46:09

为此,您必须为App.js中的每一条路由管理不同的情况。

App.js

​

代码语言:javascript
复制
const NavigationBarRouteMapper = {
    LeftButton(route, navigator, index, navState) {
        switch (route.id) {
            case 'Dashboard':
                return (
                    <TouchableOpacity
                        style={styles.navBarLeftButton}
                        onPress={() => {_emitter.emit('openMenu')}}>
                        <Icon name='menu' size={25} color={'white'} />
                    </TouchableOpacity>
                )
           case 'Page1':
                return (
                    <TouchableOpacity
                        style={styles.navBarLeftButton}
                        onPress={() => {_emitter.emit('openMenu')}}>
                        <Icon name='menu' size={25} color={'white'} />
            case 'Page2':
                return (
                    <TouchableOpacity
                        style={styles.navBarLeftButton}
                        onPress={() => {navigator.pop()}}>
                        <Icon name='arrow-back' size={25} color={'white'} /> //you can change icon as your requirements
                    </TouchableOpacity>
                )
            default:
                return (
                    <TouchableOpacity
                        style={styles.navBarLeftButton}
                        onPress={() => {_emitter.emit('back')}}>
                        <Icon name='chevron-left' size={25} color={'white'} />
                    </TouchableOpacity>
                )
        }
    },

    RightButton(route, navigator, index, navState) {
        return (
            <TouchableOpacity
                style={styles.navBarRightButton}>
                <Icon name='more-vert' size={25} color={'white'} />
            </TouchableOpacity>
        )
    },

    Title(route, navigator, index, navState) {
        return (
            <Text style={[styles.navBarText, styles.navBarTitleText]}>
                {route.title}
            </Text>
        )
    }
}

​

您可以更改left button图标,因为我在Page1上添加了menu图标,在Page2上添加了arrow-back图标。 请参阅此链接,以了解react本机:Navigation Drawer中的抽屉的完整实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40671412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档