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

商城小程序(8.購物車頁面)

這篇具有很好參考價值的文章主要介紹了商城小程序(8.購物車頁面)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、商品列表區(qū)域

本章主要完成pages下的cart購物頁面編寫
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

1、渲染購物車商品列表的標(biāo)題區(qū)域

定義如下UI結(jié)構(gòu)

<template>
	<view>
		<!-- 商品列表的標(biāo)題區(qū)域 -->
		<view class="cart-title">
			<!-- 左側(cè)的圖標(biāo) -->
			<uni-icons type="shop" size="18"></uni-icons>
			<!-- 右側(cè)的文本 -->
			<text class="cart-title-text">購物車</text>
		</view>
	</view>
</template>

美化樣式

<style lang="scss">
	.cart-title {
		height: 40px;
		display: flex;
		align-items: center;
		padding-left: 5px;
		border-bottom: 1px solid #EFEFEF;
		
		.cart-title-text {
			font-size: 14px;
			margin-left: 10px;
		}
	}
</style>

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

2、渲染商品列表區(qū)域的基本結(jié)構(gòu)

通過 mapState 輔助函數(shù),將Store中的cart數(shù)組映射到當(dāng)前頁面中使用:

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

在UI結(jié)構(gòu)中,通過v-for渲染自定義組件my-goods

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

3、為my-goods組件封裝radio勾選狀態(tài)

打開my-goods.vue組件,為商品左側(cè)圖片區(qū)域添加radio足跡

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

并美化UI ,使radio組件和image組件左右布局
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
使用v-if控制radio組件的按需展示

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

修改cart.vue中的商品列表區(qū)域,給showRadio賦值true展示勾選框

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
動態(tài)綁定勾選框的選擇值
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

購物車頁面有勾選
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
而商品列表頁面就沒有了
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

4、為my-goods組件封裝radio-change事件

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

5、修改購物車中商品的選擇狀態(tài)

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
導(dǎo)入mapMutations這個輔助函數(shù),從而將需要的mutations方法映射到當(dāng)前頁面中
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

每次點擊勾選狀態(tài)就能隨時跟新,并且重新編譯,保存上次的狀態(tài)實現(xiàn)持久化

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

6、為my-goods組件封裝NumberBox

修改my-goods.vue組件的源代碼,在goods-info-box的view組件內(nèi)部渲染Numberbox組件的基本內(nèi)容,并綁定商品數(shù)量

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

美化樣式

		.goods-item-right{
			display: flex;
			flex: 1;
			flex-direction: column;
			justify-content: space-between;
			.goods-name{
				font-size: 13px;
			}
			.goods-info-box{
				display: flex;
				justify-content: space-between;
				align-items: center;
				.goods-price{
					color: #C00000;
					font-size: 16px;
				}
			}
		}

控制numberbox的按需展示
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
my-goods頁面用v-if綁定是否顯示 默認(rèn)為false不顯示
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
在cart頁面將shownum值賦值true展示num框
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商品列表頁面就沒有數(shù)字選擇框
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

7、為my-goods封裝num-change事件

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

最后在my-goods.vue組件的methods節(jié)點中,定義numChangeHandler事件處理函數(shù):

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

8、修改購物車商品數(shù)量

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
現(xiàn)在通過numbox修改商品數(shù)量,刷新頁面后同樣持久化存儲
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

9、渲染滑動刪除的UI效果

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

10、實現(xiàn)滑動刪除的功能

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

我們把沒有圖片展示的商品都刪除(這是之前我自己寫的一個小bug,在goods-detail頁面中,加入購物車功能持久化保存商品中的goods_small_logo拼寫錯了,之前寫的samll所以添加的商品都沒圖片)
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
現(xiàn)在展示刪除功能
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

二、收貨地址區(qū)域

右鍵components,新建我們的收貨地址組件

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

1、渲染收貨地址組件

定義基本UI結(jié)構(gòu)

<template>
	<view>
		<!-- 選擇收貨地址的盒子 -->
		<view class="address-choose-box">
			<button type="primary" size="mini" class="btnChooseAddress">請選擇收貨地址</button>
		</view>
		<!-- 渲染收貨信息的盒子 -->
		<view class="address-info-box">
			<view class="row1">
				<view class="row1-left">
					<view class="username">收貨人: kirito</view>
				</view>
				<view class="row1-right">
					<view class="phone">電話:1586xxxxxx</view>
					<uni-icons type="arrowright" size="16"></uni-icons>
				</view>
			</view>
			<view class="row2">
				<view class="row2-left">收貨地址: </view>
				<view class="row2-right">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</view>
			</view>
		</view>
		<!-- 底部的邊框線 -->
		<image src="/static/gouwuchehenjiemian.png" class="address-border"></image>
	</view>
</template>

美化

<style lang="scss">
	.address-border {
		display: block;
		width: 100%;
		height: 5px;
	}

	.address-choose-box {
		height: 90px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.address-info-box {
		font-size: 12px;
		height: 90px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 0 5px;
		.row1 {
			display: flex;
			justify-content: space-between;
			
			.row1-left {
				.username {
					
				}
			}
			
			.row1-right {
				display: flex;
				justify-content: space-between;
				
				.phone {
					
				}
			}
		}
		
		.row2 {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin-top: 10px;
			
			.row2-left {
				white-space: nowrap;
			}
			.row2-right {
				
			}
		}
	}
</style>

在cart購物車頁面,引用收貨地址組件
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

2、實現(xiàn)收貨地址區(qū)域的按需展示

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
address為空時,只展示一個選擇收貨地址
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

3、實現(xiàn)選擇收貨地址的功能

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
在manifest.json中賦予權(quán)限,才能調(diào)用chooseaddress的api接口
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

因為新版接口不用解構(gòu)的問題,我們可以把上面的chooseAddress方法改一下
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
數(shù)據(jù)在UI結(jié)構(gòu)中回顯
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

頁面調(diào)試:選擇收貨地址

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

確定之后成功展示回顯數(shù)據(jù)
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

4、將address信息存儲到vuex中

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

export default {
	// 開啟命名空間
	namespaced: true,
	
	//數(shù)據(jù)
	state: () => ({
		address: {}
	}),
	
	//方法
	mutation: {
		// 更新收貨地址
		updateAddress(state, address) {
			state.address = address
		}
	},
	
	getters: {
		
	}
}

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
選擇完地址后,我們重新編譯程序,也能看到地址信息。
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

5、將store中的address持久化存儲到本地

修改store/user.js:

export default {
	// 開啟命名空間
	namespaced: true,
	
	//數(shù)據(jù)
	state: () => ({
		address: JSON.parse(uni.getStorageSync('address') || '{}')
	}),
	
	//方法
	mutations: {
		// 更新收貨地址
		updateAddress(state, address) {
			state.address = address
			this.commit('m_user/saveAddressToStorage')
		},
		// 持久化存儲address
		saveAddressToStorage(state) {
			uni.setStorageSync('address', JSON.stringify(state.address))
		}
	},
	
	getters: {
		
	}
}

重新編譯 一樣有效果
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

6、將addstr抽離為getters

為了提高代碼的復(fù)用性,可以把收貨地址的詳細(xì)地址抽離為getters,方便在多個頁面和組件之間實現(xiàn)復(fù)用

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

7、重新選擇收貨地址

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

三、結(jié)算區(qū)域

創(chuàng)建結(jié)算組件

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

在cart頁面調(diào)用結(jié)算組件
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

1、渲染結(jié)算組件

結(jié)算組件的UI結(jié)構(gòu):

<template>
	<view class="my-settle-container">
		<!-- 全選 -->
		<label class="radio">
			<radio color="#C00000" :checked="true" /><text>全選</text>
		</label>
		<!-- 合計 -->
		<view class="amount-box">
			合計:<text class="amount"></text>
		</view>
		<!-- 結(jié)算按鈕 -->
		<view class="btn-settle">結(jié)算(0)</view>
	</view>
</template>

美化樣式:

<style lang="scss">
	.my-settle-container {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 50px;
		background-color: white;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-size: 14px;
		padding-left: 5px;
		
		.radio {
			display: flex;
			align-items: center;
		}
		
		.amount-box {
			.amount {
				color: #C00000;
				font-weight: bold;
			}
		}
		
		.btn-settle {
			background-color: #C00000;
			height: 50px;
			color: white;
			line-height: 50px;
			padding:0 10px;
			text-align: center;
		}
	}
</style>

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

2、動態(tài)渲染已勾選商品的總數(shù)量

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

3、動態(tài)渲染全選按鈕的選中狀態(tài)

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

為不全選時,下面全選按鈕沒有選中

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

4、實現(xiàn)商品的全選/反選功能

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

點滅全選按鈕,上面全部的選擇都取消了,點擊單個選擇,下面也會選中
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

5、動態(tài)渲染已勾選商品的總價格

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

6、動態(tài)計算購物車徽標(biāo)的數(shù)值

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

加兩件商品時,徽標(biāo)成功增加

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

7、渲染購物車為空的頁面

商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js

美化頁面

	.cart-container {
		padding-bottom: 50px;
	}
	.cart-title {
		height: 40px;
		display: flex;
		align-items: center;
		padding-left: 5px;
		border-bottom: 1px solid #EFEFEF;
		
		.cart-title-text {
			font-size: 14px;
			margin-left: 10px;
		}
	}
	.empty-cart {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-top: 150px;
		.empty-img {
			width: 90px;
			height: 90px;
		}
		.tip-text {
			font-size: 12px;
			color: gray;
			margin-top: 15px;
		}
	}

刪除所有商品后,頁面返回
商城小程序(8.購物車頁面),小程序,前端,學(xué)習(xí),vue.js文章來源地址http://www.zghlxwxcb.cn/news/detail-816614.html

到了這里,關(guān)于商城小程序(8.購物車頁面)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 微信小程序購物車頁面實現(xiàn)

    微信小程序購物車頁面實現(xiàn)

    目錄 32.商品加入購物車邏輯實現(xiàn)(前端) 33.購物車頁面收貨地址實現(xiàn) 34.購物車商品列表顯示實現(xiàn) 37.購物車商品復(fù)選框選中業(yè)務(wù)處理 38.購物車全選復(fù)選框選中業(yè)務(wù)處理 39.購物車商品數(shù)量編輯實現(xiàn) 40.購物車商品數(shù)量為0判定是否刪除 42.商品詳情立即購買邏輯實現(xiàn) 1.先在produc

    2024年02月11日
    瀏覽(21)
  • 使用Vue.js框架的指令和事件綁定實現(xiàn)一個購物車的頁面布局

    使用了v-model指令來實現(xiàn)全選/全不選的功能,當(dāng)全選框被點擊時,isAllChecked的值會被改變。 使用了v-if指令來判斷購物車中是否有商品,如果有商品則渲染商品列表,否則顯示購物車為空的提示。 使用了v-for指令來遍歷datalist數(shù)組,渲染每個商品項。 使用了@change事件來監(jiān)聽商

    2024年02月12日
    瀏覽(23)
  • Android商城開發(fā)----點擊加入購物車,購物車商品的增刪減

    Android商城開發(fā)----點擊加入購物車,購物車商品的增刪減

    上一章節(jié):【分類頁面】點擊左側(cè)類別,實現(xiàn)右側(cè)對應(yīng)類別商品的展示 本文是在上一章節(jié)基礎(chǔ)上開發(fā)的,點擊【分類】頁面商品的加入購物車按鈕,實現(xiàn)將商品加入購物車的功能。 本文主要實現(xiàn)的功能是: 1.點擊加入購物車按鈕,將商品加入購物車。 2.點擊相同的商品加入

    2024年02月03日
    瀏覽(32)
  • SpringBoot項目--電腦商城【加入購物車】

    1.使用use命令先選中store數(shù)據(jù)庫 2.在store數(shù)據(jù)庫中創(chuàng)建t_cart用戶數(shù)據(jù)表 在entity包下創(chuàng)建購物車的Cart實體類并使其繼承BaseEntity 1.向購物車表中插入商品數(shù)據(jù)的SQL語句 2.如果當(dāng)前商品已經(jīng)在購物車存在,則直接更新商品即可 3.在插入或者更新具體執(zhí)行哪個語句,取決于數(shù)據(jù)庫中是否

    2024年02月09日
    瀏覽(22)
  • 實現(xiàn)蛋糕商城購物車功能代碼實現(xiàn)實驗報告

    一、實驗?zāi)康?1、熟悉HttpSession接口中常用方法 2、熟悉Session 對象的生命周期 3、熟悉兩種方法返回與當(dāng)前請求相關(guān)的HttpSession對象。 4、學(xué)會如何使用Session 技術(shù)模擬用戶登錄的功能 二、實驗內(nèi)容 實現(xiàn)購物車 1、在chapler05 項目下新建一個名稱為 cn.itcast.session.entity 的包,在該

    2024年02月09日
    瀏覽(41)
  • 前端Vue仿京東加入購物車彈框立即購買彈框shopDialog自定義彈框內(nèi)容

    前端Vue仿京東加入購物車彈框立即購買彈框shopDialog自定義彈框內(nèi)容

    前端Vue仿京東加入購物車彈框立即購買彈框shopDialog自定義彈框內(nèi)容, 下載完整代碼請訪問uni-app插件市場地址:https://ext.dcloud.net.cn/plugin?id=13183 效果圖如下: 使用方法 使用注意: 該插件需引用cc-radioBtnBox插件和cc-numbox插件兩個插件庫 cc-radioBtnBox插件地址:https://ext.dcloud.net

    2024年02月10日
    瀏覽(47)
  • maui sqlite開發(fā)一個商城加購物車的演示(3)
  • HTML淘寶購物車頁面的實現(xiàn)

    HTML淘寶購物車頁面的實現(xiàn)

    一、實驗?zāi)康暮鸵?本實驗任務(wù)用HTML基本標(biāo)簽制作一個簡單的淘寶購物車頁面,具體要求如下: 以純文本格式保存為*.html文件 使用表格標(biāo)簽、div標(biāo)簽、span標(biāo)簽、圖像標(biāo)簽等實現(xiàn)效果設(shè)計 啟用瀏覽器,打開該文件或在地址欄中直接輸入存放該文件的地址 二、 實驗原理 首先

    2024年02月11日
    瀏覽(15)
  • 谷粒商城篇章8 ---- P236-P247 ---- 購物車【分布式高級篇五】

    谷粒商城篇章8 ---- P236-P247 ---- 購物車【分布式高級篇五】

    目錄 1 環(huán)境搭建 1.1 新建購物車服務(wù)模塊gulimall-cart 1.2 購物車服務(wù)相關(guān)配置 1.2.1 pom.xml? 1.2.2 yml配置 1.2.2.1 application.yml配置 1.2.2.2 bootstrap.yml配置 1.2.3 主類 1.3 SwitchHosts增加配置 1.4 網(wǎng)關(guān)配置 1.5 整合SpringSession 1.5.1 session數(shù)據(jù)存儲在redis 1.5.2 開啟SpringSession 1.6?購物車頁面搭建 2 購

    2024年02月01日
    瀏覽(54)
  • ECSHOP購物車頁面顯示商品簡單描述的實現(xiàn)方法

    最近看到有朋友有這方面的需求,就整理了一下,寫出來供有同樣需求的朋友備用,這里說的商品簡單描述,不是商品的詳細(xì)信息,而是后臺編輯商品時在“其他信息”標(biāo)簽欄填寫的那個“商品簡單描述”,即goods_brief字段,修改前請注意備份相關(guān)的系統(tǒng)文件。 修改lib_order

    2023年04月16日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包