1

我正在对 FlatList 中的项目使用 react-native-swipeout,每个列表项在文本的两侧都有一个“减号”和“加号”按钮(上图)。

但是,当将这些组件添加为 Swipeout 组件的子组件时,它们都堆叠在彼此的顶部和行的左侧(下图)。

在此处输入图像描述

我在这里缺少什么吗?

<Swipeout
   style={styles.swipeStyle}
   {...swipeSettings}>
      <View style={styles.buttonContainer}>
          <MinusButton />
      </View>
      <View style={styles.itemStyle}>
          <Text>{this.props.name}</Text>
      </View>
      <View style={styles.buttonContainer}>
           <PlusButton />
      </View>
</Swipeout>

const styles = {
  swipeStyle: {
    flex: 1,
    flexDirection: 'row',
    flexWrap: 'nowrap',
    justifyContent: 'flex-start',
    alignItems: 'flex-start'
  },
  buttonContainer: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    padding: 5,
  },
  itemStyle: {
    flex: 1,
  }
};
4

1 回答 1

1

如果您查看源代码,还有另一个包装子容器的内部容器,您不能直接设置style内部容器。

我建议把你的孩子包装成一个<View />like:

<Swipeout {...swipeSettings}>
   <View style={styles.swipeStyle}>
      <View style={styles.buttonContainer}>
          <MinusButton />
      </View>
      <View style={styles.itemStyle}>
          <Text>{this.props.name}</Text>
      </View>
      <View style={styles.buttonContainer}>
           <PlusButton />
      </View>
   </View>
</Swipeout>
于 2018-04-12T12:32:20.447 回答