国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序(五)購(gòu)物車

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序(五)購(gòu)物車。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

shoppingcart.wxml

<!--pages/shoppingcart/shoppingcart.wxml-->
<view class="content">
    <view class="info">
    <view class="line"></view>
    <view class="receive">
    購(gòu)物
    </view>
    <view class="line"></view>
    <view class="items">
    <checkbox-group bindchange="checkboxChange">
    <block wx:for="{{orders}}">
    <view class="item">
        <view class="icon">
        <label for="{{item.id}}">
        <checkbox id="{{item.id}}" value="{{item.id}}" checked=
        "{{item.selected}}" hidden/>
        <icon type="{{item.selected==true?'success':'circle'}}"
        color="#E4393C" data-value="{{item.id}}" size="20" />
        </label>
        </view>
        <view class="pic">
        <image src="{{item.pic}}" style="width:80px;height:80px;">
        </image>
        </view>
        <view class="order">
        <view class="title">{{item.name}}</view>
        <view class="desc">
        <view>數(shù)量: {{item.quantity}}</view>
        </view>
        <view class="priceInfo">
        <view class="price">¥{{item.nowPrice}}</view>
        <view class="minus" id="{{item.id}}" bindtap="minusOrders">-</view>
        <view class="count">{{item.quantity}}</view>
        <view class="add" id="{{item.id}}" bindtap="addOrders">+
        </view>
        </view>
        </view>
        </view>
        <view class="line"></view>
        </block>
        </checkbox-group>
        <checkbox-group bindchange="checkAll">
        <view class="totalInfo">
        <view class="all">
        <view>
        <label for="boxAll">
        <checkbox checked="{{selectedAll}}" id="boxAll" hidden/>
        <icon type="{{selectedAll==true?'success':'circle'}}"
        color="#E4393C" data-value="{{item.id}}" size="20" />
        </label>
    </view>
    <view>
    全選
    </view>
    </view>
    <view class="amount">
    <view class="total">
    總計(jì):¥{{totalPrice}}元
    </view>
    <view>
    不含運(yùn)費(fèi),已優(yōu)惠¥0.00
    </view>
    </view>
    <view class="opr">去結(jié)算</view>
    </view>
    </checkbox-group>
    </view>
    </view>
    </view>
    

shoppingcart.js

// pages/shoppingcart/shoppingcart.js
Page({
    data:{
        orders: [], //加人到購(gòu)物車?yán)锏纳唐芳?        selectedAll:false, //全選按鈕標(biāo)志位,true 代表全選選中,false代表全選未選中
        totalPrice:0 //總金額
        
    },
    onLoad:function (options) {
        this.loadOrders();
        wx.setNavigationBarTitle({ //動(dòng)態(tài)修改頁(yè)面標(biāo)題文字
            title: '購(gòu)物車'
        })
        wx.setNavigationBarColor({
            frontColor: '#000000', //導(dǎo)航文字顏色
            backgroundColor: '#ffffff', //導(dǎo)航背景色
            animation: { //動(dòng)畫效果
                duration: 400,
                timingFunc: 'easeIn'
            }
        })
    },
    loadOrders:function () { //加載購(gòu)物車?yán)锏纳唐?        var orders = wx.getStorageSync('orders'); //從本地級(jí)存數(shù)據(jù)orders里獲取數(shù)據(jù)
        var newOrders = [];
        var totalPrice = 0;
        var selectedAll = true;
        for (var i = 0; i < orders.length; i++) {
            var order = orders[i];
            if (order.selected) { //購(gòu)物車?yán)锏拿考唐范加幸粋€(gè)selected屬性,selected等于true時(shí)代表這件商品被選中,要計(jì)算金額
                totalPrice += order.nowPrice * order.quantity; //計(jì)算選中商品的金額
            } else {
                selectedAll = false; //購(gòu)物車?yán)锏纳唐?,如果有一一件是未選中的,selectedAll全選標(biāo)志位就等于false
            }
            newOrders.push(order);
        }
        wx.setStorageSync("orders", newOrders); //重新加入緩存
        this.setData({totalPrice:totalPrice,orders:newOrders,selectedAll: selectedAll});//數(shù)據(jù)綁定到頁(yè)面里
    },
    checkboxChange: function (e) { //每件商品前的復(fù)選框操作函數(shù)
        var ids = e.detail.value; //會(huì)把選中的復(fù)選框的id值,以數(shù)組集合的形式傳遞過(guò)來(lái)
        var orders = wx.getStorageSync('orders');
        var totalPrice = 0;
        var newOrders = [];
        for (var i = 0; i < orders.length; i++) {
            var order = orders[i];
            var flag = true;
            for (var j = 0; j < ids.length; j++) {
                if (order.id == ids[j]) { //傳遞過(guò)來(lái)的ids數(shù)組集合值,都是選中的 商品,需要計(jì)算總的金額
                    totalPrice += order.nowPrice * order.quantity;
                    order.selected = true; //代表該商 品是選中狀態(tài)
                    flag = false; //代表該商品是選中狀態(tài)
                }
            }
            if (flag) { //代表該商品是未選中狀態(tài)

                order.selected = false;
            }
            newOrders.push(order);
        }
        wx.setStorageSync("orders", newOrders); //重新加人緩存數(shù)據(jù)
        this.loadOrders();//重新加載頁(yè)面
    }, 
    checkAll: function (e) { //全選復(fù)選框操作函數(shù)
        var orders = wx.getStorageSync("orders");
        console.log(e);
        var newOrders = [];
        var selectedAll = this.data.selectedAll;
        for (var i = 0; i < orders.length; i++) {
            var order = orders[i];
            if (selectedAll) { //如果當(dāng)前狀態(tài)值是全選中, 那么再單擊的時(shí)候,全選復(fù)選框應(yīng)該為未選中狀態(tài)
                order.selected = false;
            } else {
                order.selected = true;
            }
            newOrders.push(order);
        }
        wx.setStorageSync("orders", newOrders) //重新加入緩存數(shù)據(jù)
        this.loadOrders(); //重新加載頁(yè)面
    },
    addOrders: function (e) { //添加商品數(shù)量 函數(shù)
        var id = e.currentTarget.id;
        var orders = wx.getStorageSync('orders');
        var addOrders = new Array();
        for (var i = 0; i < orders.length; i++) {
            var order = orders[i];
            if (order.id == id) {
                var quantity = order.quantity;
                order.quantity = quantity + 1; //將該件商品數(shù)量加1
            }
            addOrders[i] = order;
        }
        wx.setStorageSync('orders', addOrders); //重新加人緩存數(shù)據(jù)
        this.loadOrders(); //重新加載頁(yè)面
    },

    minusOrders: function (e) { //減少商品數(shù)量函數(shù)
        console.log(e);
        var id = e.currentTarget.id;
        var orders = wx.getStorageSync('orders');
        var addOrders = new Array();
        var add = true;
        for (var i = 0; i < orders.length; i++) {
            var order = orders[i];
            if (order.id == id) {
                var count = order.quantity;
                if (count >= 2) {
                    order.quantity = count - 1; //將該件商 品數(shù)量減1
                }
            }
            addOrders[i] = order;
        }
        wx.setStorageSync('orders', addOrders); //重新加人緩存數(shù)據(jù)
        this.loadOrders(); //重新加載頁(yè)面
    }
    

})

shoppingcart.wxss

/* pages/shoppingcart/shoppingcart.wxss */
.content {
    font-family: "Microsoft YaHei";
    height: 600px;
    background-color: #F9F9F8;
}

.info {
    background-color: #ffffff;
}

.line {
    border: 1px solid #CCCCCC;
    opacity: 0.2;
}

.receive {
    display: flex;
    flex-direction: row;
    padding: 10px;
}

.item {
    display: flex;
    flex-direction: row;
    padding: 10px;
    align-items: center;
}

.order {
    width: 100%;
    height: 87px;
}

.title {
    font-size: 15px;
}

.desc {
    display: flex;
    flex-direction: row;
    font-size: 13px;
    color: #cccccc;
}

.desc view {
    margin-right: 10px;
}

.priceInfo {
    display: flex;
    flex-direction: row;
    margin-top: 10px;
}

.price {
    width: 65%;
    font-size: 15px;
    color: #ff0000;
    text-align: left;
}

.minus,
.add {
    border: 1px solid #cccccC;
    width: 25px;
    text-align: center;
}

.count {
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cCCCCC;
    width: 40px;
    text-align: center;
}

.totalInfo {
    display: flex;
    flex-direction: row;
    height: 60px;
}

.all {
    align-items: center;
    Padding-left: 10px;
    width: 20%;
    font-size: 12px;
    margin-top: 10px;
}

.amount {
    width: 50%;
    font-size: 13px;
    text-align: right;
}

.total {
    font-size: 16px;
    color: #ff0000;
    font-weight: bold;
    margin-bottom: 10px;
}

.opr {
    position: absolute;
    right: 0px;
    width: 92px;
    font-size: 15px;
    font-weight: bold;
    background-color: #E4393C;
    height: 60px;
    text-align: center;
    line-height: 60px;
    color: #ffffff;
}

.icon {
    margin-right: 10px;
}

效果圖

微信小程序loadorder:function(orderid)什么意思,微信小程序,微信小程序,前端

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-604676.html

到了這里,關(guān)于微信小程序(五)購(gòu)物車的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)商品加入購(gòu)物車案例

    微信小程序?qū)崿F(xiàn)商品加入購(gòu)物車案例

    思考: 購(gòu)物車中的數(shù)據(jù)保存在哪里?用哪種數(shù)據(jù)結(jié)構(gòu)進(jìn)行保存? 小程序中可能有多個(gè)頁(yè)面需要對(duì)購(gòu)物車中的數(shù)據(jù)進(jìn)行操作,因此我們想到把數(shù)據(jù)存到全局中??梢允褂?wx.setStorageSync() 儲(chǔ)存,用 wx.getStorageSync() 進(jìn)行獲取,以數(shù)組格式方便對(duì)數(shù)據(jù)進(jìn)行操作。 一、商品加入購(gòu)物車

    2024年02月10日
    瀏覽(19)
  • 微信小程序商城開(kāi)發(fā)-商品詳情頁(yè)跳轉(zhuǎn)購(gòu)物車

    微信小程序商城開(kāi)發(fā)-商品詳情頁(yè)跳轉(zhuǎn)購(gòu)物車

    微信小程序商城開(kāi)發(fā)中商品詳情頁(yè)中購(gòu)物車頁(yè)面的跳轉(zhuǎn)(僅限于tabbar頁(yè)面的跳轉(zhuǎn)) ? 點(diǎn)擊商品詳情頁(yè)中的購(gòu)物車圖標(biāo)跳轉(zhuǎn)不到tabbar及導(dǎo)航欄中的購(gòu)物車頁(yè)面,總是報(bào)錯(cuò) 微信小程序開(kāi)發(fā)需要跳轉(zhuǎn)tabbar頁(yè)面的話,有固定的跳轉(zhuǎn)方式,不是開(kāi)發(fā)中所有的跳轉(zhuǎn)方式都適用于tabbar跳轉(zhuǎn)

    2024年02月17日
    瀏覽(23)
  • 【微信小程序】-- uni-app 項(xiàng)目-- 購(gòu)物車 -- 首頁(yè) - 輪播圖效果(五十二)

    【微信小程序】-- uni-app 項(xiàng)目-- 購(gòu)物車 -- 首頁(yè) - 輪播圖效果(五十二)

    ?? 所屬專欄:【微信小程序開(kāi)發(fā)教程】 ?? 作??者:我是夜闌的狗?? ?? 個(gè)人簡(jiǎn)介:一個(gè)正在努力學(xué)技術(shù)的CV工程師,專注基礎(chǔ)和實(shí)戰(zhàn)分享 ,歡迎咨詢! ?? 歡迎大家:這里是CSDN,我總結(jié)知識(shí)的地方,喜歡的話請(qǐng)三連,有問(wèn)題請(qǐng)私信 ?? ?? ?? ??大家好,又見(jiàn)面了,

    2023年04月18日
    瀏覽(90)
  • 微信電商小程序購(gòu)買/加入購(gòu)物車組件設(shè)計(jì)

    微信電商小程序購(gòu)買/加入購(gòu)物車組件設(shè)計(jì)

    作為一名常常擺爛,一蹶不振的大學(xué)生,最近接到了開(kāi)發(fā)電商小程序的小任務(wù),既然是電商,總得有購(gòu)買加車功能吧?經(jīng)過(guò)n個(gè)坤年的拜讀微信小程序開(kāi)發(fā)者文檔還有別的大佬的指點(diǎn),奉上我自己的理解,歡迎各位大佬指點(diǎn)改正,學(xué)習(xí)交流,共同進(jìn)步。該文章適合微信小程序初

    2024年02月09日
    瀏覽(17)
  • 購(gòu)物車程序?qū)崿F(xiàn)教程

    購(gòu)物車程序?qū)崿F(xiàn)教程

    在本教程中,我們將實(shí)現(xiàn)一個(gè)購(gòu)物車程序,實(shí)現(xiàn)在界面中以列表的形式顯示購(gòu)物車的商品信息。商品信息包含商品名稱,價(jià)格和數(shù)量,并能實(shí)現(xiàn)對(duì)應(yīng)的增刪改查操作。我們將使用 Android Studio 和 SQLite 數(shù)據(jù)庫(kù)來(lái)完成這個(gè)任務(wù)。 我們的購(gòu)物車程序由以下四個(gè)主要類組成: MainAct

    2024年02月04日
    瀏覽(21)
  • 商城小程序(8.購(gòu)物車頁(yè)面)

    商城小程序(8.購(gòu)物車頁(yè)面)

    本章主要完成pages下的cart購(gòu)物頁(yè)面編寫 定義如下UI結(jié)構(gòu) 美化樣式 通過(guò) mapState 輔助函數(shù),將Store中的cart數(shù)組映射到當(dāng)前頁(yè)面中使用: 在UI結(jié)構(gòu)中,通過(guò)v-for渲染自定義組件my-goods 打開(kāi)my-goods.vue組件,為商品左側(cè)圖片區(qū)域添加radio足跡 并美化UI ,使radio組件和image組件左右布局

    2024年01月23日
    瀏覽(19)
  • 商城小程序(7.加入購(gòu)物車)

    商城小程序(7.加入購(gòu)物車)

    新建store目錄,并創(chuàng)建store.js文件用于管理vuex相關(guān)內(nèi)容 在store.js中 初始化store的實(shí)例對(duì)象 在main.js 中導(dǎo)入store實(shí)例對(duì)象并掛載到vue的實(shí)例上 同樣目錄下創(chuàng)建cart.js模塊 在cart.js中,初始化如下的vuex模塊 在store/store.js 模塊中,導(dǎo)入并掛載購(gòu)物車中的vue模塊 商品詳情頁(yè)面測(cè)試,是

    2024年02月02日
    瀏覽(22)
  • 模擬瑞幸小程序購(gòu)物車

    模擬瑞幸小程序購(gòu)物車

    是根據(jù)渡一袁老師的大師課寫的,如有什么地方存在問(wèn)題,還請(qǐng)大家指出來(lái)喲ど?????????う?~

    2024年01月16日
    瀏覽(22)
  • flask 與小程序 購(gòu)物車刪除和編輯庫(kù)存功能

    編輯? :? ?數(shù)量加減? ?價(jià)格匯總? 數(shù)據(jù)清空 知識(shí)點(diǎn)1: view class=\\\"jian-btn\\\" catchtap=\\\"jianBtnTap\\\" data-index=\\\"{{index}}\\\" 是一個(gè)微信小程序中的一個(gè)視圖組件,具有以下特點(diǎn): class=\\\"jian-btn\\\" :該組件的樣式類名為 jian-btn ,可以通過(guò)CSS樣式表對(duì)其進(jìn)行樣式設(shè)置。 catchtap=\\\"jianBtnTap\\\" :該組件綁

    2024年01月22日
    瀏覽(22)
  • uniapp小程序購(gòu)物車多商家單選全選功能

    uniapp小程序購(gòu)物車多商家單選全選功能

    效果圖如下: 說(shuō)明:點(diǎn)擊商家復(fù)選框,可選中當(dāng)前商家下的所有商品。點(diǎn)擊全選,選中全部商家的商品 以下是代碼: 其中,slideLeft 組件是刪除的效果 代碼如下:

    2024年02月12日
    瀏覽(15)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包