2017-04-25 45 views
0

我尝试@们ShoutEm/UI 的ListView数据我通过API获得使用的ListView,响应是一个数组对象!揭密1个对象有像使用参数(遵循/ unfollow链接)状态1个键值!如果params为跟随我渲染行全明星,或者不是我空星 定义但现在我想请点击一行!我想空星辰变到全明星或相反的,并在同一时间节省列id来一个数组列表!所以任何人都可以给我一个解决方案非常感谢你的帮助!祝你有个美好的一天 这是我的照片: enter image description here如何更新1排列表视图的@们ShoutEm/UI反应本地

回答

0

你必须处理你渲染的那个内部组件作为一行。比方说,你使您的行这样的:

renderRow(object) { 
    const iconName = object.status === 'follow' ? 'add-to-favorites-full' : 'add-to-favorites'; 
    return (
    <Row> 
     <Image 
     styleName="small rounded-corners" 
     source={{ uri: object.imageUrl }} 
     /> 
     <View styleName="vertical stretch space-between"> 
     <Subtitle>object.name</Subtitle> 
     <Caption>object.status</Caption> 
     </View> 
     <Button styleName="right-icon" onPress={() => this.updateObjectStatus(object)}><Icon name={iconName} /></Button> 
    </Row> 
); 
} 

然后,如果需要在服务器上进行更新的对象,你将需要从服务器张贴在你的API您updateObjectStatus函数中,并刷新数据。如果您使用redux操作在应用程序状态中本地更新对象状态。这两种情况会导致您的数据的变化,因此新的渲染你的ListView。现在将渲染你用全明星点击的行。

此屏幕可能是帮助你:https://github.com/shoutem/extensions/blob/master/shoutem-books/app/screens/BooksListScreen.js

它处理这两个组件中:

+0

感谢你这么多@Ivan Vukovic –