import React, { Component } from 'react' import { connect } from 'react-redux' import { bindActionCreators } from 'redux' import * as loadAction from '@actions/loadAction' import { withRouter } from 'react-router-dom' import { Checkbox, Stepper, SwipeAction, Toast, Modal } from 'antd-mobile' import { baseUrl, imgUrl, getToken } from '@common/js/util' class CratItem extends Component { // 构造函数 constructor(props) { super(props) this.state = { val: props.item.value } } // 改变选择 onChange(e, id) { let checked = e.target.checked; // console.log(checked,id) this.props.checkChange(id, checked) } // 修改购物车 editCart(it, val) { } // 删除购物车 delete(id) { var that = this; } //跳转 goto(id) { } //render render() { let item = this.props.item return ( <SwipeAction autoClose={true} style={{ backgroundColor: '#f5f5f9', paddingBottom: '10px' }} right={[ { text: '删除', onPress: () => { console.log('delete') this.delete(item.id) return false; }, style: { backgroundColor: '#F4333C', color: 'white' }, }, ]} onOpen={() => console.log('global open')} onClose={() => { console.log('global close') return false; }} > <div className="cart-c-item" > <div className="cart-c-check"> <Checkbox checked={item.check} onChange={(e) => { this.onChange(e, item.id) }} /> </div> {/* 商品图片 */} <div className="cart-ci-left" onClick={() => { this.goto(item.productId) }}> <img src={imgUrl + item.productThumbnail} alt={item.productName} /> </div> {/* 商品信息 */} <div className="cart-ci-right"> <div className="r-title"><span>{item.productName}</span></div> <div className="r-step"> <span className="r-price"><span>¥</span>{item.productSalesPrice.toFixed(2)}</span> <span className="span-stepper"> {/* 加减步进器 */} <Stepper style={{ maxWidth: '100px', height: '30px' }} showNumber max={item.stockNum} min={1} value={item.value} onChange={(val) => { if (val > item.stockNum) { Toast.info("库存不足", 1) this.props.changeStock(item.id, item.stockNum) this.editCart(item, val) } else { this.props.changeStock(item.id, val) this.editCart(item, val) } }} /> </span> </div> </div> </div> </SwipeAction> ) } } export default connect( null, (dispatch) => { return { load: bindActionCreators(loadAction, dispatch) } } )(withRouter(CratItem))