我在行方向上并排放置了两个列表视图。每个列表行都显示产品的价格。一旦选择列表行背景颜色应该改变以表示该行的选择,用户一次只能在一个listrow中选择一行。其他列表视图也是如此。当用户从列表视图中选择他们的选择listrow时,应该添加listrow价格的总和。如何更改listrow背景的颜色以表示选择并分别添加价格?我可以使用TouchableHighlight吗?
答案 0 :(得分:0)
执行此操作的一种方法是让每个ListView
存储当前所选行的键(如果没有选中,则为null),并将props中的函数传递给允许其设置的每一行父亲的CurrentlySelected
元素为自己的密钥。然后,您可以将该函数用作onPress
,用于listview行中的一个核心Touchable
组件。
如果您正在使用核心ListView
组件,那么当它在renderRow
函数中呈现所选子项时,您应该让父列表视图找出来,并传递一个布尔道具让孩子知道它被选中了。孩子可以根据传递的道具来决定要使用的styles
道具。