为了账号安全,请及时绑定邮箱和手机立即绑定

在 react native expo 中使用 flex 将同一行的 2 张卡片与动态内容对齐

在 react native expo 中使用 flex 将同一行的 2 张卡片与动态内容对齐

慕妹3242003 2023-11-12 22:24:36
我在 react native expo 项目中使用卡片,卡片是动态创建和放置的,但我希望 2 张卡片显示在同一行上。所需代码let data = [{ id: "1", title: "First", desc: "Some desc", time: "4pm" },{ id: "2", title: "Second", desc: "Some second desc", time: "5pm" },           ];class App extends React.Component {    constructor(props) {        super(props);        this.state = {            products: data,        };    }        render() {        return (            <View style={{display: "flex", flex: 1}}>                                    <View style={{}}>                    <FlatList                        data={this.state.products}                        renderItem={({ item }) => (                            <TouchableOpacity>                                <Card                                    style={{                                        margin: 5,                                    }}                                >                                    <View style={styles.checkCards}>                                        <Text>{item.title}</Text>                                    </View>                                </Card>                            </TouchableOpacity>                        )}                    />                </View>            </View>           )}}
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

尝试给 FlatListnumColumns={2}

https://img1.sycdn.imooc.com/6550e0630001ab6e03240152.jpg

let data = [

  { id: '1', title: 'First', desc: 'Some desc', time: '4pm' },

  { id: '2', title: 'Second', desc: 'Some second desc', time: '5pm' },

];


export default class App extends React.Component {

  constructor(props) {

    super(props);

    this.state = {

      products: data,

    };

  }


  render() {

    return (

      <View style={{ display: 'flex', flex: 1, marginTop: 24 }}>

        <View style={{}}>

          <FlatList

          numColumns={2}

            data={this.state.products}

            renderItem={({ item }) => (

              <TouchableOpacity style={{ flex: 1, }}>

                <Card

                  style={{

                    margin: 5,

                    padding: 10,

                  }}>

                  <View style={{}}>

                    <Text>{item.title}</Text>

                  </View>

                </Card>

              </TouchableOpacity>

            )}

          />

        </View>

      </View>

    );

  }

}

查看完整回答
反对 回复 2023-11-12
  • 1 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信