瀏覽代碼

详情页添加购物车数量显示问题

Csy817 6 年之前
父節點
當前提交
700c477177
共有 3 個文件被更改,包括 15 次插入14 次删除
  1. 2 2
      src/pages/cart/all/edit/index.js
  2. 2 2
      src/pages/cart/orders/index.js
  3. 11 10
      src/pages/home/detail/index.js

+ 2 - 2
src/pages/cart/all/edit/index.js

@@ -98,8 +98,8 @@ class CartEdit extends Component {
                         let num = data.data.delete_userCart.replace(/[^0-9]/ig,"")
                         if(num){
                             Toast.info('删除成功', 1)
-                            let cartCount = localStorage.getItem("cartCount")*1 - num
-                            localStorage.setItem("cartCount",cartCount)
+                            let cartCount = JSON.parse(localStorage.getItem("cartCount")) - num
+                            localStorage.setItem("cartCount",JSON.stringify(cartCount))
 
                             this.setState({
                                 cartList:cartList1,

+ 2 - 2
src/pages/cart/orders/index.js

@@ -156,8 +156,8 @@ class CartOrders extends Component {
         Promise.all([createOrder, createOrderProduct]).then((data)=> {
             console.log('onSubmitOrderAndProduct data',data);
             if(type === 'cartSelected'){
-                let cartCount = JSON.parse(localStorage.getItem("cartCount"))*1 - totalCount
-                localStorage.setItem("cartCount",cartCount)
+                let cartCount = JSON.parse(localStorage.getItem("cartCount")) - totalCount
+                localStorage.setItem("cartCount",JSON.stringify(cartCount))
                 localStorage.removeItem("cartList")
             }
 

+ 11 - 10
src/pages/home/detail/index.js

@@ -73,7 +73,7 @@ class DetailRender extends Component {
     constructor(props) {
         super(props)
         this.state = {
-            cartCount: localStorage.getItem('cartCount'),
+            cartCount: JSON.parse(localStorage.getItem('cartCount')),
             openSelect: false,
             buttonType: 'add'
         }
@@ -86,7 +86,7 @@ class DetailRender extends Component {
         })
     }
 
-    changeModalState = (state,val) => {
+    changeDetailState = (state,val) => {
         this.setState({
             [state]:val
         })
@@ -136,7 +136,7 @@ class DetailRender extends Component {
                         <span className='detail-bottom-button add' onClick={(e)=>{this.changeBottomButtonType(e,'add')}}>加入购物袋</span>
                         <span className='detail-bottom-button buy' onClick={(e)=>{this.changeBottomButtonType(e,'buy')}}>立即购买</span>
                         <SelectModal
-                            changeModalState={this.changeModalState}
+                            changeDetailState={this.changeDetailState}
                             openSelect={openSelect}
                             buttonType={buttonType}
                             productData={data}
@@ -262,12 +262,13 @@ class SelectModal extends Component {
         }
         console.log('cartContent',cartContent)
 
-        this.props.changeModalState('openSelect')
+        this.props.changeDetailState('openSelect',false)
         create_userCart({variables:cartContent}).then((data)=>{
             console.log('create_userCart data',data)
-            let cartCount = localStorage.getItem("cartCount")*1 + count
-            console.log('cartCount',cartCount)
-            localStorage.setItem("cartCount",cartCount)
+            let cartCount = JSON.parse(localStorage.getItem("cartCount")) + count
+            this.props.changeDetailState('cartCount',cartCount)
+            message.success('成功添加至购物车')
+            localStorage.setItem("cartCount",JSON.stringify(cartCount))
         })
     }
 
@@ -307,7 +308,7 @@ class SelectModal extends Component {
         console.log('buyNowContent',buyNowContent)
         sessionStorage.setItem("buyNowContent",JSON.stringify(buyNowContent))
         sessionStorage.setItem("totalPrice",JSON.stringify(totalPrice))
-        this.props.changeModalState('openSelect')
+        this.props.changeDetailState('openSelect')
         this.props.history.push({
             pathname: '/cart/orders',
             state:{
@@ -327,13 +328,13 @@ class SelectModal extends Component {
             <Modal
                 popup
                 visible={this.props.openSelect}
-                onClose={()=>this.props.changeModalState('openSelect',false)}
+                onClose={()=>this.props.changeDetailState('openSelect',false)}
                 animationType="slide-up"
                 afterClose={() => { console.log('close model')}}
             >
                 <div className="popup-box" >
                     <div className="main-goods-box">
-                        <div className="close-popup" onClick={()=>this.props.changeModalState('openSelect',false)}>
+                        <div className="close-popup" onClick={()=>this.props.changeDetailState('openSelect',false)}>
                             ×
                         </div>
                         <div className="goods-box">