FlatList的点击Demo
来源:互联网 发布:org.w3c.dom.node 编辑:程序博客网 时间:2024/06/10 00:19
import React, { Component, PureComponent } from 'react';import { View, TouchableOpacity, FlatList, Text, Alert,} from 'react-native';import styles from './style';import commonStyle from '../../Common/Style'; const data = [ {id: 'T&C', index: 0,}, {id: 'Privacy', index: 1,}, {id: 'FAQs', index: 2,}, {id: 'Feedback', index: 3,}, {id: 'Wooloomooloo', index:4},];class MyListItem extends React.PureComponent { _onPress = () => { // MyList的onPressItem this.props.onPressItem(this.props.id); }; render() { return ( <View style = {styles.view_Item}> <TouchableOpacity onPress={() => this._onPress()}> <Text style = {styles.item}> {this.props.title} </Text> </TouchableOpacity> </View> ) }}class MyList extends React.PureComponent { state = {selected: (new Map(): Map<string, boolean>)}; _keyExtractor = (item, index) => item.id; _onPressItem = (id: string) => { // updater functions are preferred for transactional updates this.setState((state) => { // copy the map rather than modifying state. const selected = new Map(state.selected); selected.set(id, !selected.get(id)); // toggle return {selected}; }); //渲染时候的onPressItem this.props.onPressItem(id) }; _renderItem = ({item}) => ( <MyListItem id={item.id} onPressItem={this._onPressItem} selected={!!this.state.selected.get(item.id)} title={item.id} /> ); render() { return ( <FlatList data={this.props.data} extraData={this.state} keyExtractor={this._keyExtractor} renderItem={this._renderItem} onPress = {this._onPressItem} /> ); }}export default class index extends Component<{}> { constructor(props) { super(props); this.state = {}; this.onPressItem = this.onPressItem.bind(this) } static navigationOptions = { //导航栏标题 title:'关于', drawerLabel: '关于', }; onPressItem(message) { Alert.alert("点击了" + message.toString()) } render() { return ( <View style = {commonStyle.safeView}> <View style ={ styles.main}> <MyList data = {data} onPressItem = {this.onPressItem.bind(this)} /> </View> </View> ); }}
阅读全文
0 0
- FlatList的点击Demo
- react native 中下拉列表FlatList组件的讲解以及实例demo
- React Native FlatList的使用
- 鼠标点击相应的demo
- 点击按钮播放音乐的demo
- 统计鼠标点击次数的页面demo
- 自定义View点击计算次数的demo
- react native FlatList使用详解以及上拉刷新下拉加载带可运行demo
- React Native之FlatList,listview的升级版
- React Native之FlatList,listview的升级版
- listView和FlatList的flexGrow默认值为1
- ReactNative FlatList state更新,视图不更新的问题
- 关于RN中FlatList的一些东西,以及FlatList为什么会得到多个只显示几个信息的原因
- FlatList测试
- 点击手势demo
- js点击事件demo
- ListView点击后改变item颜色的Demo
- Qt 一个点击事件和改变按钮文字的demo
- 关于druid数据连接池maven方式简易配置流程
- 结构体定义 typedef struct 用法详解和用法小结
- 不解压直接查看tar包内容
- 设计模式的艺术之道--桥接模式
- 【ORACLE】物化视图快速刷新限制条件
- FlatList的点击Demo
- Android进阶-Android动画机制与使用技巧
- LC-selfDividingNumber
- python常用collections lib介绍
- UBOOT中环境变量的类别
- 卷积核问题
- docker attch退出
- iview
- Eclipse中web项目部署至Tomcat步骤【整理】