mergeOptions更改未反映

时间:2018-12-23 01:49:13

标签: javascript react-native react-native-navigation wix-react-native-navigation

我正在尝试将徽章显示在导航选项卡之一上。

onClickSetBadge() {
    console.log('Button pressed!')
    Navigation.mergeOptions(this.props.componentId, {
      bottomTab: {
        badge: `TeSt`
      }
    });
  }

我正在渲染的视图中调用它。

<ButtonView text='SUP' onPress={() => {this.onClickSetBadge()}} />

日志语句显示在我的控制台中,但是徽章没有显示。

1 个答案:

答案 0 :(得分:1)

根据官方文档https://wix.github.io/react-native-navigation/#/docs/layout-types?id=updating-options-for-a-specific-tab,它的工作方式是:

1)定义特定标签的ID:

    stack: {
      id: 'CartTab',
      children: [{
        component: {
          name: 'store-cart',
        }
      }],
      options: {
        bottomTab: {
          text: 'Cart',
          icon: require('../asset/image/menu/cart.png'),
        }
      }
    }

2)在需要时使用标签ID更新:

  Navigation.mergeOptions('CartTab', {
    bottomTab: {
      badge: cart.length > 0 ? cart.length.toString() : ''
    }
  });