首页 > 解决方案 > 为平面列表中的每个项目添加两个按钮

问题描述

实际上,我正在为一个反应原生的学校项目工作,我想知道是否可以使用 react-native 将两个按钮添加到平面列表中。


export class ItineraryScreen extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
        data:[
                {key: 'PKRX'},
                {key: 'UXUA'},
                {key: 'PGRF'},
            ]
    };
}

render() {
        return (
            <ScrollView>
                    <FlatList
                        data={this.state.data}
                        renderItem={({item}) => <Text style={styles.item}>{item.key}</Text>}
                    />
            </ScrollView>
        );


}


你能给一些建议来实现这个功能吗?

此致,

伊玛德。

标签: javascriptlistreact-nativereact-native-flatlist

解决方案


以下是 yu 如何做到这一点的示例(Repro on Snack Expo):

import * as React from 'react';
import { Text, View, StyleSheet , FlatList, Button} from 'react-native';

export default function App() {
  const data = [
                {key: 'PKRX'},
                {key: 'UXUA'},
                {key: 'PGRF'},
            ];

  return (
    <View>
      <FlatList data={data} renderItem={({item}) => <Item item={item} /> } />
    </View>
  );
}

const Item = ({item}) => {
  return (
    <View style={{flex: 1, flexDirection: 'row', alignItems: 'center'}}>
      <Text>{item.key}</Text>
      <View style={{flex:1, flexDirection: 'row-reverse'}}>
        <Butto title='Button 1' onPress={() => {}} />
        <Button title='Button 2' onPress={() => {}} />
      </View>
    </View>
  )
}

推荐阅读