怎样点击后替换ListView里的被点击项里的图片

来源:

qq_superATC_03291580

2017-01-03

http://szimg.mukewang.com/586b7ee800014ec607501100.jpg

点击播放,我想替换这个播放图片成暂停的图片,但是用state 就会把所有项的图片都替换了,

这是我的视图代码,我想知道改变listview某一项内的内容的思路?谢谢

http://szimg.mukewang.com/586b7f4f0001ddec18800168.jpg

写回答

2回答

Scott

2017-01-05

更简单的思路,就是把这个按钮单独拎出来作为一个组件,点击的时候,修改这个组件的 state,图片显示的位置,根据这个 state 变化,切换不同的 source

0
1
qq_superATC_03291580
谢谢老师,用老师的方法已解决。
2017-01-06
共1条回复

Scott

2017-01-04

可以在整个 listview 的 data 数组里面,点击的时候,比如  onPress = {() => this.props.playaction(row.key)} 来传入是点击的哪一行的 key, 然后在 playaction 里面,拿到 key 来检索 listview 的 data 数组里面对应的一项,将它里面增加一个临时字段,比如说 isPlaying = true,然后重新 setState,模板这边,则可以通过表达式来判断展现哪一个按钮图片,比如:


source={this.props.isPlaying ? this.props.playIcon : this.props.icon}



0
1
qq_superATC_03291580
老师,有没有更简单的思路。您说的这个方法,我不知道怎么写。
2017-01-04
共1条回复

贯穿全栈React Native开发App

全面掌握React Native技术,不止步前端开发,让你移动领域大放光彩

946 学习 · 385 问题

查看课程