2016-07-08 97 views
2

我遇到了ListView和TouchableHighlight的問題 我跟隨本教程 https://rnplay.org/apps/M4tiAQ 一切都很完美。 我的問題是當我嘗試選擇列表視圖的行數據。它不給我任何東西。 我想改變場景,同時選擇行數據。 下面是我在renderAdress功能做 樣品反應原生列表視圖TouchableHighlight

 renderAdress = (adress) => { 
    return (
<TouchableHighlight onPress = { this._onPressAddressList(rowData)} underlayColor = 'white' > 
     <View> 
     <Text>{adress.street}, {adress.city}, {adress.country}</Text> 
     </View> 
</TouchableHighlight> 
    ); 
    }; 

我想,只要用戶選擇,場景的變化和行值傳遞到其他場景從列表中的行數據之一。 我真的很感謝幫助。 謝謝

+1

這似乎是'onPress'函數的問題。嘗試將其更改爲'onPress = {this._onPressAddressList.bind(this,rowData)}' –

+0

@SafeerHussain,是的,它的工作。 謝謝。 – DeJavu

+0

我將其添加爲答案。 –

回答

2

這似乎與onPress功能的問題。嘗試將其更改爲onPress = { this._onPressAddressList.bind(this, rowData)}

 renderAdress = (adress) => { 
    return (
<TouchableHighlight onPress = { this._onPressAddressList.bind(this, rowData)} underlayColor = 'white' > 
     <View> 
     <Text>{adress.street}, {adress.city}, {adress.country}</Text> 
     </View> 
</TouchableHighlight> 
    ); 
    }; 
+0

謝謝 我從列表中選擇行數據時還有一個問題。在第一次點擊它沒有選擇,當我第二次點擊,然後只有它執行操作。任何想法可能是一個問題? – DeJavu

+0

我不能完全想到這個給定的代碼導致問題的原因。 '_onPressAddressList'函數可能會出錯,或者如果它來自遠程服務器(由於延遲),您在渲染時可能無法獲取地址對象。嘗試調試代碼。 :) –

+0

一切看起來不錯。我也可以獲得地址對象。唯一的問題是我需要點擊雙重來獲得。 – DeJavu