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);
React Native ListView實(shí)現(xiàn)購物車功能
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門快集,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贡羔,“玉大人,你說我怎么就攤上這事个初」院” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵院溺,是天一觀的道長楣嘁。 經(jīng)常有香客問我,道長珍逸,這世上最難降的妖魔是什么逐虚? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮谆膳,結(jié)果婚禮上痊班,老公的妹妹穿的比我還像新娘。我一直安慰自己摹量,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布馒胆。 她就那樣靜靜地躺著缨称,像睡著了一般。 火紅的嫁衣襯著肌膚如雪祝迂。 梳的紋絲不亂的頭發(fā)上睦尽,一...
- 文/蒼蘭香墨 我猛地睜開眼冤荆,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼朴则!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钓简,我...
- 序言:老撾萬榮一對(duì)情侶失蹤乌妒,失蹤者是張志新(化名)和其女友劉穎汹想,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撤蚊,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡古掏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了侦啸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片槽唾。...
- 正文 年R本政府宣布挂绰,位于F島的核電站,受9級(jí)特大地震影響服赎,放射性物質(zhì)發(fā)生泄漏葵蒂。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一重虑、第九天 我趴在偏房一處隱蔽的房頂上張望践付。 院中可真熱鬧厦滤,春花似錦问词、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽命爬。三九已至,卻和暖如春辐脖,著一層夾襖步出監(jiān)牢的瞬間饲宛,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓久锥,卻偏偏與公主長得像家淤,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瑟由,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 前言 知道m(xù)obx這個(gè)東西 很久了 大概也就1個(gè)多月了吧但是從來沒有下筆寫過代碼這兩天嘗試了一下 大概去熟悉了一下...
- (一) :知識(shí)點(diǎn)準(zhǔn)備: (1) reduce函數(shù):性能比for和while好 http://www.w3cplus...
- 項(xiàng)目中React Native ListView的長按刪除功能分享(基于ES5): 補(bǔ)充1:JS的刪除方法除了de...
- 本項(xiàng)目來自菜鳥窩,有興趣者點(diǎn)擊http://www.cniao5.com/course/ 項(xiàng)目已經(jīng)做完绿鸣,https...