uniapp-商城-47-后臺 分類數據的生成(通過數據)

?????????在第46章節中,我們為后臺數據創建了分類的數據表結構schema,使得可以通過后臺添加數據并保存,同時使用云函數進行數據庫數據的讀取。文章詳細介紹了如何通過前端代碼實現分類管理功能,包括獲取數據、添加、更新和刪除分類。主要代碼展示了如何使用uniCloud.database()進行數據庫操作,并通過uni-popup組件實現彈出窗口進行數據的添加和更新。此外,文章還說明了如何定義和獲取頁面數據,以及如何通過onLoad方法在頁面加載時獲取數據并展示。最后,文章總結了數據庫的讀寫刪除修改權限的開啟方法。

獲取分來,來至于數據庫

1、后臺分類功能

在前面的章節已經說了,這里來看看

包含? 獲取數據

點擊添加?

更新和刪除

1.1 主要代碼:

<template><view class="category"><!-- 分類管理 --><!-- 第二步 --><!-- 這里的row add 中間有一個空格,下面樣式就可以寫成 .row.add --><view class="row add" @click="clickAdd"><view class="left"><!-- https://uviewui.com/components/icon.html 使用的是uview的icon --><u-icon name="plus" color="#576b95" size="22"></u-icon><text class="text">新增分類</text></view></view><!-- 第一步 --><view class="row" v-for="(item,index) in categoryList" :key="item._id"><view class="left"><!-- 分類名稱 --><view class="name">{{item.name}}</view></view><view class="right"><!-- 編輯和刪除圖標 --><!-- 使用的u-icon組件,自動生成一個class名字為 u-icon --><u-icon name="edit-pen" size="26" color="#576b95" @click="updateData(item._id,item.name)"></u-icon><u-icon name="trash" size="26" color="#EC544F" @click="deleteData(item._id)"></u-icon></view></view><!-- 第三步 --><!-- https://uniapp.dcloud.net.cn/component/uniui/uni-popup.html 使用這里彈出層 官方  使用的是輸入框示例 --><!-- 下載安裝相應的組件  ref來獲取方法進行相應的動作,uview 是通過show 來完成相應的動作 --><!-- @confirm 這是一個回調函數,我們通過這就知道輸入的到底是什么 --><uni-popup ref="inputDialog"><uni-popup-dialog mode="input" :value="iptValue"placeholder="請輸入分類名稱"title="分類名稱" @confirm="dialogConfirm"></uni-popup-dialog></uni-popup></view>
</template><script>const db = uniCloud.database()export default {data() {return {// categoryList:[{_id:1,name:"水果"},{_id:2,name:"肉類"}],// 上面是模擬數據  實際寫的是空 下面這樣的  真實數據來之云存儲,并給該變量賦值categoryList:[],iptValue:"",updateID:null};},onLoad() {this.getCateGory()},methods:{//獲取數據庫中的分類getCateGory(){db.collection("green-mall-categories").get().then(res=>{console.log(res);this.categoryList = res.result.data})},//添加分類clickAdd(){this.iptValue=""this.updateID=null;//https://uniapp.dcloud.net.cn/component/uniui/uni-popup.html  使用的是Popup Methods中open  // 這里的inputDialog 的屬性是ref在uni-popup中// 所以這里使用的是 this.$refs.inputDialog.open();this.$refs.inputDialog.open();},//點擊確認按鈕   這里的name 是我們green-mall-categories 表里提供的keyasync dialogConfirm(e){this.iptValue = e;if(this.updateID){await db.collection("green-mall-categories").doc(this.updateID).update({name:this.iptValue})		}else{await db.collection("green-mall-categories").add({name:this.iptValue})}		this.iptValue = "";//把輸入或修改的值改為空,以免下一次在調用就還有上一次的值this.getCateGory();	},//修改一條分類updateData(id,name){this.iptValue=name;this.updateID=id;this.$refs.inputDialog.open();},//刪除一條分類deleteData(id){uni.showModal({content:"是否刪除該分類?",success:res=>{if(res.confirm){db.collection("green-mall-categories").doc(id).remove().then(res=>{this.getCateGory();})							}},fail:err=>{console.log(err);}})}}}
</script><style lang="scss">
.category{padding:30rpx;.row{@include flex-box();border-bottom: 1px solid $border-color-light;padding:26rpx 0;.left{font-size: 34rpx;}.right{@include flex-box();//使用的u-icon組件,自動生成一個class名字為 u-icon .u-icon{margin-left:30rpx;}}}// 對應的class 就是 row add.row.add{.left{color:$brand-theme-color-aux;@include flex-box();.text{font-size: 36rpx;padding-left:10rpx;}}}
}
</style>

2 使用數據庫獲取數據

2.1 頁面代碼

2.2 主要方法

2.3 開啟數據庫的讀寫刪除修改權限

這里暫時開啟,后面會對權限進行顯示

3、 方法說明

3.1 頁面展示數據

3.2 添加 增加的按鈕

3.3 使用彈出窗口進行增加(點擊修改或者新增 后 頁面上展示)

3.4 頁面數據定義和獲取(進入頁面時)

定義的數據是用來進行數據的存儲;

onload 是用來進入頁面時 進行數據的獲取并傳遞給data ,然后再展示到頁面上。

3.5 方法說明

3-5-1 、方法1 獲取數據 getcatgory?

3-5-2、 方法2 添加數據 add

??????????????? //https://uniapp.dcloud.net.cn/component/uniui/uni-popup.html? 使用的是Popup Methods中open ?
??????????????? // 這里的inputDialog 的屬性是ref在uni-popup中
??????????????? // 所以這里使用的是 this.$refs.inputDialog.open();

3-5-3、 方法3 更新數據 update

??????????????? //https://uniapp.dcloud.net.cn/component/uniui/uni-popup.html? 使用的是Popup Methods中open ?
??????????????? // 這里的inputDialog 的屬性是ref在uni-popup中
??????????????? // 所以這里使用的是 this.$refs.inputDialog.open();

3-5-4、 方法4? 刪除數據 delete

3-5-6、彈出層中的事件處理,主要是添加和更新數據的操作

@confirm="dialogConfirm"? 彈出層定義的動作。再add 和update 中使用了??所以這里使用的是 this.$refs.inputDialog.open();

??????????????? //https://uniapp.dcloud.net.cn/component/uniui/uni-popup.html? 使用的是Popup Methods中open ?
??????????????? // 這里的inputDialog 的屬性是ref在uni-popup中
??????????????? // 所以這里使用的是 this.$refs.inputDialog.open();

3-5-7 、這里要定義數據庫(相當于導入數據庫,沒有使用jql方法,使用的是傳統方法)

??? const db = uniCloud.database()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/82285.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/82285.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/82285.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ClickHouse的基本操作說明

說明 文章內容包括數據庫管理、表操作及查詢等核心功能 創建數據庫 -- 默認引擎&#xff08;Atomic&#xff09; CREATE DATABASE IF NOT EXISTS test_db; -- MySQL引擎&#xff08;映射外部MySQL數據庫&#xff09; CREATE DATABASE mysql_db ENGINE MySQL(host:port, m…

Nacos源碼—7.Nacos升級gRPC分析四

大綱 5.服務變動時如何通知訂閱的客戶端 6.微服務實例信息如何同步集群節點 6.微服務實例信息如何同步集群節點 (1)服務端處理服務注冊時會發布一個ClientChangedEvent事件 (2)ClientChangedEvent事件的處理源碼 (3)集群節點處理數據同步請求的源碼 (1)服務端處理服務注冊…

《Overlapping Experiment Infrastructure: More, Better, Faster》論文閱讀筆記

文章目錄 1 背景2 三個核心概念3 Launch層&#xff1a;特性發布的專用機制4 流量分發策略和條件篩選4.1 四種流量分發類型4.2 條件篩選機制 5 工具鏈與監控體系6 實驗設計原則7 培訓參考與推薦 1 背景 谷歌&#xff08;Google&#xff09;以數據驅動著稱&#xff0c;幾乎所有可…

國芯思辰| 醫療AED可使用2通道24位模擬前端SC2946(ADS1292)

生物電信號監測技術在醫療健康行業中發展迅速&#xff0c;成為評估人體生理健康狀況的關鍵手段。心電&#xff08;ECG&#xff09;、腦電&#xff08;EEG&#xff09;和肌電&#xff08;EMG&#xff09;等信號&#xff0c;通過精密模擬前端芯片捕捉和處理&#xff0c;對醫療診斷…

數據結構【二叉搜索樹(BST)】

二叉搜索樹 1. 二叉搜索樹的概念2. 二叉搜索樹的性能分析3.二叉搜索樹的插入4. 二叉搜索樹的查找5. 二叉搜索樹的刪除6.二叉搜索樹的實現代碼7. 二叉搜索樹key和key/value使用場景7.1 key搜索場景&#xff1a;7.2 key/value搜索場景&#xff1a; 1. 二叉搜索樹的概念 二叉搜索…

RDMA高性能網絡通信實踐

RDMA高性能網絡通信實踐 一、背景介紹二、方法設計A.實現方案B.關鍵技術點 三、代碼及注釋四、注意事項 一、背景介紹 遠程直接內存訪問&#xff08;RDMA&#xff09;技術通過繞過操作系統內核和CPU直接訪問遠程內存&#xff0c;實現了超低延遲、高吞吐量的網絡通信。該技術廣…

ndarray數組掩碼操作,True和False獲取數據

#數組掩碼的表示方法 def testht05():a np.arange(1,10)mask [True,False,True,True,False,True,False,True,True]print(a[mask]) 另外的用法&#xff1a; #掩碼操作獲取子集 def testht06():a np.arange(1,100)print(a[a%3 0 & (a%7 0)] )b np.array([A,"B&qu…

索引工具explain

EXPLAIN 是 MySQL 中一個非常有用的工具,用于分析查詢的執行計劃。通過 EXPLAIN,你可以了解 MySQL 是如何執行查詢的,包括它如何使用索引、表的掃描方式等。這有助于優化查詢性能。以下是 EXPLAIN 輸出的各個字段的詳細解釋: 基本用法 EXPLAIN SELECT * FROM table_name …

Git回顧

參考視頻:【GeekHour】一小時Git教程 一句話定義&#xff1a;Git是一個免費開源的分布式版本控制系統。 版本控制系統可以分為兩種&#xff0c;1.集中式&#xff08;SVN&#xff0c;CVS&#xff09;&#xff1b;2.分布式&#xff08;git&#xff09; git的工作區域和文件狀態…

python打卡day20

特征降維------特征組合&#xff08;以SVD為例&#xff09; 知識點回顧&#xff1a; 奇異值的應用&#xff1a; 特征降維&#xff1a;對高維數據減小計算量、可視化數據重構&#xff1a;比如重構信號、重構圖像&#xff08;可以實現有損壓縮&#xff0c;k 越小壓縮率越高&#…

GuPPy-v1.2.0安裝與使用-生信工具52

GuPPy&#xff1a;Python中用于光纖光度數據分析的免費開源工具 01 背景 Basecalling 是將原始測序信號轉換為堿基序列的過程&#xff0c;通俗地說&#xff0c;就是“把堿基識別出來”。這一過程在不同代測序技術中各不相同&#xff1a; 一代測序是通過解析峰圖實現&#xff1…

47. 全排列 II

題目 給定一個可包含重復數字的序列 nums &#xff0c;按任意順序 返回所有不重復的全排列。 示例 1&#xff1a; 輸入&#xff1a;nums [1,1,2] 輸出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]] 示例 2&#xff1a; 輸入&#xff1a;nums [1,2,3] 輸出&#xff1a;[[1,2,3…

ERP系統操作流程,如何快速搭建流程體系

ERP流程圖&#xff0c;如何搭建和建立&#xff0c;ERP系統操作流程&#xff0c;ERP系統操作流程圖&#xff0c;采購流程&#xff0c;銷售流程&#xff0c;倉庫流程&#xff0c;MRP流程&#xff0c;PMC流程&#xff0c;財務流程&#xff0c;應收流程&#xff0c;應付流程&#x…

class path resource [] cannot be resolved to absolute file path

問題情景 java應用程序在IDE運行正常&#xff0c;打成jar包后執行卻發生異常&#xff1a; java.io.FileNotFoundException: class path resource [cert/sync_signer_pri_test.key] cannot be resolved to absolute file path because it does not reside in the file system:…

19、HashTable(哈希)、位圖的實現和布隆過濾器的介紹

一、了解哈希【散列表】 1、哈希的結構 在STL中&#xff0c;HashTable是一個重要的底層數據結構, 無序關聯容器包括unordered_set, unordered_map內部都是基于哈希表實現 哈希表又稱散列表&#xff0c;一種以「key-value」形式存儲數據的數據結構。哈希函數&#xff1a;負責將…

基于 Flask的深度學習模型部署服務端詳解

基于 Flask 的深度學習模型部署服務端詳解 在深度學習領域&#xff0c;訓練出一個高精度的模型只是第一步&#xff0c;將其部署到生產環境中&#xff0c;為實際業務提供服務才是最終目標。本文將詳細解析一個基于 Flask 和 PyTorch 的深度學習模型部署服務端代碼&#xff0c;幫…

Vue3 + Node.js 實現客服實時聊天系統(WebSocket + Socket.IO 詳解)

Node.js 實現客服實時聊天系統&#xff08;WebSocket Socket.IO 詳解&#xff09; 一、為什么選擇 WebSocket&#xff1f; 想象一下淘寶客服的聊天窗口&#xff1a;你發消息&#xff0c;客服立刻就能看到并回復。這種即時通訊效果是如何實現的呢&#xff1f;我們使用 Vue3 作…

MySQL數據庫與表結構操作指南

前言&#xff1a;本文系統梳理MySQL核心操作語句。內容覆蓋建庫建表、結構調整、數據遷移全流程&#xff08;包含創建/修改/刪除/備份場景&#xff09;。希望它們能幫你快速解決問題。 庫結構操作 一、庫的創建 一個庫的簡單創建&#xff1a; create database 庫名; 注意&am…

【WEB3】區塊鏈、隱私計算、AI和Web3.0——數據民主化(1)

區塊鏈、隱私計算、AI&#xff0c;是未來Web3.0至關重要的三項技術。 1.數據民主化問題 數據在整個生命周期&#xff08;生產、傳輸、處理、存儲&#xff09;內的隱私安全&#xff0c;則是Web3.0在初始階段首要解決的問題。 數據民主化旨在打破數據壟斷&#xff0c;讓個體能…

C語言—指針2

1. const 修飾變量 1.1 const修飾變量 變量被const修飾時&#xff0c;變量此時為常變量&#xff0c;本質為常量&#xff0c;語法上不可被修改&#xff0c;但是如果此時需要修改變量值&#xff0c;可以通過指針的方式修改。 雖然此時通過指針的方式確實修改了變量的值&#xff…