ScrollView里面循环添加多个Text, 如何将Text的onPress事件回调出去??



  • 代码如下

    var TITLES = [
        '养老保险',
        '医疗保险',
        '生育保险',
        '失业保险',
        '工商保险',
        '住房公积金保险'
    ];
    
    render() {
                return (
                        <ScrollView 
                            horizontal={true} 
                            style={styles.container} 
                            contentContainerStyle={styles.contentContainer} 
                            automaticallyAdjustContentInsets={false}
                            >
                            { this.renderAllTitle(TITLES)}    
                            </ScrollView>
                    );
        }
    
    renderAllTitle(titles) {        
            return titles.map(function (title,index){
                return (<Text key={index} style ={styles.title} onPress={()=>{this.props.tapTitleItemAction(title,index)}}>{title}</Text>)
                // return (<Text key={index} style ={styles.title} onPress ={()=>{
                //     console.log("调用了%s",title);
                //这样写 能正常调用,因为别的组件需要知道点击的是哪一个title, 不知道怎么写才能让title和index传递给回调函数tapTitleItemAction
                // }} >{title}</Text>)
            }); 
        }
    


  • tapTitleItemAction
    存在吗?理论上没问题吧?你先写个this的函数测试一下?