002-聯(lián)動菜單 --react-native

一:
起初做這個組件的時候豪無頭緒宽菜,整個組件做下來基本都是由師傅教導(dǎo)下完成,好在最后也完成了净神,所以打算趁著還有記憶的時候何吝,把思路和問題都寫下來,也好以后能經(jīng)尘槲ǎ回顧爱榕。

二:

1-:這個組件支持動過點擊事件把第一個ListView里面的值傳給第二個ListView做數(shù)據(jù)源。

三:Coding
1-:得到一個數(shù)據(jù)源

const main=[{
    "cars":[{
        "image":require('./img/hanbao.png'),
        "name":'香辣漢堡',
        "introduce":'很美味',
        "money":12,
    }],
    "title":'熱銷'
},{
    "cars":[{
        "image":require('./img/hanbao.png'),
        "name":'2',
        "introduce":'很美味',
        "money":20,
    },{
        "image":require('./img/hangbao2.png'),
        "name":'2',
        "introduce":'很美味',
        "money":18,
    }],"title":'進(jìn)店必買'
},{
    "cars":[{
        "image":require('./img/hanbao.png'),
        "name":'3',
        "introduce":'很美味',
        "money":20,
    },{
        "image":require('./img/xingkong.png'),
        "name":'3',
        "introduce":'很美味',
        "money":20,
    },{
        "image":require('./img/Meishi.png'),
        "name":'3',
        "introduce":'很美味',
        "money":20,
    }],"title":'掃一掃領(lǐng)紅包'
}

2-:先寫第一個ListView組件

var leftDs = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
this.state={dataSource:leftDs.cloneWithRows(main)}
<ListView
    style={{width:width*0.2, backgroundColor:'#F5F5F5'}}
    dataSource={this.state.dataSource}
    renderRow={(rowData)=>this.renderItem(rowData)}
    showsVerticalScrollIndicator={false} 
    />
    
renderItem=(rowData)=>{
        return(
            <TouchableOpacity style={styles.fistList}
            <Text style={{textAlign:'center'}}>
            {rowData.title}</Text>
            </TouchableOpacity>)};

作為第一個ListView我們還是老方法去布置他

3-:開始寫第二個ListView組件

var rightDs = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
this.state={rightData:rightDs.cloneWithRows(NewList)}
<View style={{backgroundColor:'#FAFAFA'}}>
        <ListView
            style={{width:width*0.8, height:height*0.7,}}
            dataSource={this.state.rightData}
            renderRow={(rowData)=>this.renderItem2(rowData)}
            />
</View>
renderItem2=(rowData)=>{
        return (
            <View style={styles.secondList}>
                <Image style={{height:height*0.12,width:height*0.12}}
                    source={rowData.image}/>
                <View style={{flex:1,paddingLeft:10}}>
                    <View style={{flex:1}}>
                        <Text style={{fontSize:20,backgroundColor:'rgba(0,0,0,0)',}}>{rowData.name}</Text>
                    </View>
                    <View style={{flex:1,justifyContent:'center'}}>
                        <Text style={{backgroundColor:'rgba(0,0,0,0)',}}>{rowData.introduce}</Text>
                    </View>
                    <View style={{flex:1,justifyContent:'flex-end'}}>
                        <Text style={{backgroundColor:'rgba(0,0,0,0)',color:'#FF4040'}}>¥{rowData.money}</Text>
                    </View>
                </View>
                <TouchableOpacity style={{position: 'absolute', right: 10, bottom: 10}}>
                    <Image style={{height: 30, width: 30, borderRadius: 5}}
                           source={require('./img/add.png')}/>
                </TouchableOpacity>
            </View>
        )

    };

我想在點擊第一個ListView的后可以跳出和它相對應(yīng)的第二個listView

4-:然后把一個ListView的點擊事件補全

//點擊事件坡慌,每一次點擊都改變第二個ListView的數(shù)據(jù)源(把自己數(shù)據(jù)中的cars傳給第二個ListView做數(shù)據(jù)源)
onPress={()=>{
                 var rightDs = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
                this.setState({
                    rightData:rightDs.cloneWithRows(rowData.cars),
                      })}}

出錯了呆细,原來是沒有給第二個ListView一個默認(rèn)的值

5-:給第二個ListView一個默認(rèn)值,讓他可以在頁面刷新時顯示

 var NewList=main[0].cars;

運行效果

one.gif

學(xué)到了一個有用的小技巧,記錄的同時分享一下絮爷,如果對你有幫助那就更好了趴酣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市坑夯,隨后出現(xiàn)的幾起案子岖寞,更是在濱河造成了極大的恐慌,老刑警劉巖柜蜈,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仗谆,死亡現(xiàn)場離奇詭異,居然都是意外死亡淑履,警方通過查閱死者的電腦和手機隶垮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秘噪,“玉大人狸吞,你說我怎么就攤上這事≈讣澹” “怎么了蹋偏?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長至壤。 經(jīng)常有香客問我威始,道長,這世上最難降的妖魔是什么像街? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任黎棠,我火速辦了婚禮,結(jié)果婚禮上镰绎,老公的妹妹穿的比我還像新娘脓斩。我一直安慰自己,他們只是感情好跟狱,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著户魏,像睡著了一般驶臊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上叼丑,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天关翎,我揣著相機與錄音,去河邊找鬼鸠信。 笑死纵寝,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的星立。 我是一名探鬼主播爽茴,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼葬凳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了室奏?” 一聲冷哼從身側(cè)響起火焰,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胧沫,沒想到半個月后昌简,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡绒怨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年纯赎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片南蹂。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡犬金,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碎紊,到底是詐尸還是另有隱情佑附,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布仗考,位于F島的核電站音同,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏秃嗜。R本人自食惡果不足惜权均,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望锅锨。 院中可真熱鬧叽赊,春花似錦、人聲如沸必搞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恕洲。三九已至塔橡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間霜第,已是汗流浹背葛家。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泌类,地道東北人癞谒。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親弹砚。 傳聞我的和親對象是個殘疾皇子双仍,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,524評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)迅栅,斷路器殊校,智...
    卡卡羅2017閱讀 134,601評論 18 139
  • ¥開啟¥ 【iAPP實現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,358評論 0 17
  • 7月24日读存,跟著老板去往主君下鄉(xiāng)去過的下黨采風(fēng)为流。 午飯是在下黨鄉(xiāng)鎮(zhèn)食堂包廂吃的。一桌的素菜让簿,一碗紅燒肉敬察,可以看得出...
    黃念念小黃閱讀 581評論 0 47
  • 在南國的時候 想念北方凌冽的冬季 大風(fēng)吹一吹 就好像能把積郁的惆悵 吹成蒼涼 回到了華北 又懷念南方的梅雨 小雨淅...
    若良閱讀 331評論 0 3