如何在列表项中有条件地更改rightIcon。我正在使用本机元素

时间:2019-11-22 06:54:27

标签: react-native react-native-elements

我是react-native的新手,我正在使用react-native的元素库。我尝试在rightIcon内调用以下函数,但未呈现rightIcon

  renderItem = ({item}) => (
    console.log('renderItem', item),
    (
      <ListItem
        title={item.name}
        subtitle={<Text style={{color: 'red'}}>{item.subtitle}</Text>}
        leftIcon={<Image source={item.avatar_url} />}
        rightIcon={
          // name: 'ios-arrow-forward',
          // type: 'ionicon',
          () => this.changeIcon(item)
        }
        onPress={this.navigateToScreen(item.route)}
      />
    )
  );
  changeIcon = item => {
    console.log('changeItem', item);
    if (item.subtitle != 'Completed')
      return <Image source={require('../../../assets/icons/menu.png')} />;
  };

1 个答案:

答案 0 :(得分:2)

() => this.changeIcon(item)返回一个函数引用,但是ListItem需要一个组件。

尝试

rightIcon={this.changeIcon(item)}