React Native ListView實(shí)現(xiàn)購物車功能

import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  Content,
  TouchableOpacity,
  ListView,
  TextInput
} from 'react-native';
var page=0;
class rn25 extends Component{
constructor(props){
  super(props);
  this.Arr = [
        {
          name: '商品一',
          num:page,
        },
        {
          name: '商品二',
          num:page,
        },
        {
          name: '商品三',
          num:page,
        }
  ];
  this.state={
    ds: new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}).cloneWithRows(this.Arr),
    list: this.Arr
  };


}

  render(){
        return (
              <View style={styles.container}>
                <ListView
                  style={styles.left}
                  dataSource={this.state.ds}
                  renderRow={this.renderMover.bind(this)}
                >
                </ListView>
              </View>
      );
    }
    //具體的繪制
    renderMover(rowData: Object ,sectionID: number,rowID: number){
      return(
        <TouchableOpacity style={styles.container} activeOpacity={0.3}>
          <View style={styles.left}>
            <Text>{rowData.name}</Text>
          </View>
          <View style={styles.right}>
            <TouchableOpacity onPress={this.addNum.bind(this,rowData,sectionID,rowID)}>
              <Text> + </Text>
            </TouchableOpacity>
            <View>
              <Text>{rowData.num}</Text>
            </View>
            <TouchableOpacity onPress={this.subNum.bind(this,rowData,sectionID,rowID)}>
              <Text> - </Text>
            </TouchableOpacity>
          </View>
        </TouchableOpacity>
      )
  }
  addNum(rowData,sectionID,rowID){

    let newArr = [...this.state.list];
    let newObj = {...newArr[rowID]}
    newObj.num = newObj.num + 1;
    newArr[rowID] = newObj
      this.setState({
           ds: new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}).cloneWithRows(newArr),
           list: newArr
      });
   console.log(this.state.ds);

  }
  subNum(rowData,sectionID,rowID){
    if (rowData.num==0) {
       alert('2');
    }else{
   let newArr = [...this.state.list];
    let newObj = {...newArr[rowID]}
    newObj.num = newObj.num - 1;
    newArr[rowID] = newObj
      this.setState({
           ds: new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2}).cloneWithRows(newArr),
           list: newArr
      });
   console.log(this.state.ds);
  }
 }

}
  const styles = StyleSheet.create({
    container: {
      flex: 1,
      flexDirection:'row',
      justifyContent:'space-between',
      marginTop:30
    },
    left:{
      marginLeft:10
    },
    right:{
        flexDirection:'row'
    }
  });
 AppRegistry.registerComponent('rn25', () => rn25);
35CE14CF-5B9A-454C-A8CC-01B6AE346ADD.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末豁跑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子泻云,更是在濱河造成了極大的恐慌艇拍,老刑警劉巖狐蜕,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異卸夕,居然都是意外死亡层释,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門快集,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贡羔,“玉大人,你說我怎么就攤上這事个初」院” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵院溺,是天一觀的道長楣嘁。 經(jīng)常有香客問我,道長珍逸,這世上最難降的妖魔是什么逐虚? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮谆膳,結(jié)果婚禮上痊班,老公的妹妹穿的比我還像新娘。我一直安慰自己摹量,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布馒胆。 她就那樣靜靜地躺著缨称,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祝迂。 梳的紋絲不亂的頭發(fā)上睦尽,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音型雳,去河邊找鬼当凡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛纠俭,可吹牛的內(nèi)容都是我干的沿量。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼冤荆,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼朴则!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钓简,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤乌妒,失蹤者是張志新(化名)和其女友劉穎汹想,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撤蚊,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡古掏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侦啸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片槽唾。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖匹中,靈堂內(nèi)的尸體忽然破棺而出夏漱,到底是詐尸還是另有隱情,我是刑警寧澤顶捷,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布挂绰,位于F島的核電站,受9級(jí)特大地震影響服赎,放射性物質(zhì)發(fā)生泄漏葵蒂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一重虑、第九天 我趴在偏房一處隱蔽的房頂上張望践付。 院中可真熱鬧厦滤,春花似錦问词、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽命爬。三九已至,卻和暖如春辐脖,著一層夾襖步出監(jiān)牢的瞬間饲宛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國打工嗜价, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艇抠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓久锥,卻偏偏與公主長得像家淤,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瑟由,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

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