首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态更改StackNavigator标头中的图标

动态更改StackNavigator标头中的图标
EN

Stack Overflow用户
提问于 2018-09-22 15:26:02
回答 2查看 792关注 0票数 0

给定以下列出的StackNavigator选项:

代码语言:javascript
复制
static navigationOptions = {
title: 'Main', 
headerRight: (
    <MaterialIcons name="grid-on" size={26}/>
  ),
};

我想改变图标在headerRight后,用户按下它,我如何实现它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-22 18:09:36

这就是你能做到的

代码语言:javascript
复制
static navigationOptions = ({ navigation }) => {
    const { state } = navigation
    if (state.params.yourCheck) {
      return {
        title: 'Your Title',
        headerRight: (
          <Button
            title={'Button1'}
            onPress={() => {
              // do something
            }}
          />
        ),
      }
    } else {
      return {
        title: 'Your Title',
        headerRight: (
          <Button
            title={'Button2'}
            onPress={() => {
              // do something
            }}
          />
        ),
      }
    }
  }

这是如何更改状态参数值的方法。

代码语言:javascript
复制
  this.props.navigation.setParams({ yourCheck: false })
票数 1
EN

Stack Overflow用户

发布于 2020-07-02 08:01:23

使用ReactiveNavigation5,您可以这样做,

代码语言:javascript
复制
this.props.navigation.setOptions({
  headerRight: () => <Button
      onPress={() => this._scanNearByDevices()}
      title= "Scan"
      color="#000"
    />
});

每当您想更新标题按钮时,都可以使用上面的代码动态更新。

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

https://stackoverflow.com/questions/52458115

复制
相关文章

相似问题

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