簡體   English   中英

React Native-在Flatlist本身之外調用Flatlist項目

[英]React Native - Calling Flatlist item outside the Flatlist itself

我正在嘗試在我的FLATLIST下方設置一個Send Order按鈕 ,該Send Order按鈕會將狀態與Flatlist中項目一起發送到其他屏幕/視圖。

“但是問題是我不知道如何在Flatlist本身之外調用Flatlist的項目。”

這是我的代碼

export default class Settlement extends Component {
    constructor(props){
    super(props)
        this.state = {
            ......
    }
    fetchData = async () => {
        ....
        this.setState({ data: json })
    }
    render() {
        return (
            <View>
                    <Text>Table No: { this.state.tbl }</Text>
                    <Text>{ this.state.DineIn }{ this.state.TakeOut }</Text>
                <FlatList
                data = {this.state.data}
                renderItem = {({ item }) =>
                    <View>
                        <View>
                            <Text>{ item.item.order_id }</Text>
                            <Text>Name: { item.menu_name }</Text>     //Flatlist_Items
                            <Text>Price: ₱{ item.menu_price }</Text>
                            <Text>Discount: { item.order_discount }</Text>
                            <Text>Amount: ₱{ item.order_amount }</Text>
                            .....
                            <Text>{ item.spcl_req }</Text>
                            <Text>{ item.order_quantity }</Text>
                            .....
                        </View>
                    </View>
                }/>


                </View>
                        <Text>Number of Orders: { this.state.numOrder }</Text>
                        <Text>Total Amount: ₱{ this.state.TotalSum }</Text>
                    <TouchableOpacity
                        onPress = { () => this.props.navigation.navigate('FinalSettlement', {
                            orderID     : item.order_id,
                            Name        : item.menu_name,
                            Price       : item.menu_price,     //Trying to pass
                            Ord_QTY     : item.order_quantity, // the items to other view
                            spcl_req    : item.spcl_req,
                            Discount    : item.order_discount,
                            Amount      : item.order_amount,
                            tbl         : this.state.tbl,
                            pax         : this.state.pax,
                            DineIn      : this.state.DineIn,
                            TakeOut     : this.state.TakeOut,
                            numOrder    : this.state.numOrder,
                            TotalSum    : this.state.TotalSum,
                            userName    : this.state.userName

                        })}>
                        <Text>SEND ORDER</Text>
                    </TouchableOpacity>
                </View>
            </View>
        )
    }
}

請查看RN文檔 ,列表項應為文檔中提到的單獨組件

  _renderItem = ({item}) => ( <MyListItem id={item.id} onPressItem={this._onPressItem} selected={!!this.state.selected.get(item.id)} title={item.title} /> ); render() { return ( <FlatList data={this.props.data} extraData={this.state} keyExtractor={this._keyExtractor} renderItem={this._renderItem} /> ); } 

並且可以使用全局語句(例如Redux)來代替在導航功能中傳遞大量參數。

你的情況,你可以通過getParam功能得到你的屏幕“FinalSettlement” PARAMS ReactNavigation

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM