uniapp-商城-59-后臺 新增商品(屬性的選中,進行過濾展示,filter,some,every和map)

????????前面講了屬性的添加,添加完成后,數據庫中已經存在數據了,這時再繼續商品的添加時,就可以進行屬性的選擇了。

????????在商品添加過程中,屬性選擇是一個關鍵步驟。首先,界面需要展示嵌套的屬性數據,用戶通過點擊選擇屬性。選中后,系統會通過一個盒子展示所選屬性,若沒有值則不展示。為了處理選中屬性,定義了一個存儲數據的數組,并通過代碼clickConfirmSelect進行選中和處理。該函數首先過濾出父級和子級屬性中被選中的項,然后進行映射處理,最終將選中的屬性數組保存到商品信息中,并關閉彈窗。這一過程確保了屬性選擇的準確性和數據的即時展示。

1、界面情況回顧

屬性顯示其實是個一嵌套的數據顯示。

2、選中的界面

3、選中后的展示

通過上面的圖片我們要展示,就需要寫一個盒子,沒有值就不展示,有就需要使用該盒子進行展示。而且還需定義個存儲概述據的數組。

然后再將數據讀取出來展示在頁面上。

4、選中和處理

4.1 選中:執行clickConfirmSelect


4.2 處理代碼:

			//點擊確認選擇clickConfirmSelect() {let arr = this.skuArr.filter(item => {let state = item.children.some(child => child.checked)return item.checked && state}).map(item => {let children = item.children.filter(child => {return child.checked})return {...item,children}})this.goodsFormData.sku_select = arrthis.$refs.attrWrapPop.close();},

4.3 主要的代碼,點擊選中后的處理:

?????? 4.3.1? 第一步:點擊頁面上添加屬性 這里就會讀取數據,并執行 this.getSkuData();

4.3.2 第二步:再是 點擊彈窗上的選擇值,進行提交,此時,頁面進行獲取 sku_select? 展示,并保存到商品信息里面 goodsFormData 保存。

??????????? //點擊確認選擇 是在彈出框上選
??????????? //some 數組至少有一個滿足 沒有就是false?? every就是每一個都要滿足,不滿足就是false
??????????? // 這里filter 選出父級屬性 checked =true 被選中的 且子級屬性有一個被選中的數組對象;
??????????? // 然后再對選中的對象,逐一進行map運算
??????????? //運算就是filter 過濾出來選中的子級元素
??????????? //返回一個 數組 arr 且元素為一個對象,對象展開了item ,然后將children的值放到里面,覆蓋item中的children

??????????? clickConfirmSelect() {
??????????????? let arr = this.skuArr.filter(item => {
??????????????????? let state = item.children.some(child => child.checked) ?
??????????????????? return item.checked && state
??????????????? }).map(item => {
??????????????????? let children = item.children.filter(child => {
??????????????????????? return child.checked
??????????????????? })
??????????????????? // console.log(item,11111111);
??????????????????? // console.log(children,2222222);
??????????????????? return {
??????????????????????? ...item,
??????????????????????? // children?? //覆蓋了item中children
??????????????????? }
??????????????? })
??????????????? this.goodsFormData.sku_select = arr?? //賦值后,頁面在使用這個數組來顯示? 立即回顯
??????????????? this.$refs.attrWrapPop.close();?? //關閉掉彈窗
??????????? },

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

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

相關文章

負載均衡 ELB 在 zkmall開源商城高流量場景下的算法優化

在電商大促、直播帶貨等高頻交易場景下,流量突發增長對系統穩定性提出嚴峻挑戰。ZKmll 開源商城通過對負載均衡 ELB(Elastic Load Balancer)算法的深度優化,結合業務場景特性設計動態加權輪詢 地域感知 熱點分流的混合策略&…

Linux干貨(三)

前言 從B站黑馬程序員Linux課程摘選的學習干貨,新手友好!若有侵權,會第一時間處理。 目錄 前言 1.which find命令 1.which命令 2.find命令 2.grep wc 管道符 1.grep命令 2.wc命令 3.管道符 3.echo tail 重定向符 1.echo命令 2.反…

Sigmoid與Softmax:從二分類到多分類的深度解析

Sigmoid與Softmax:從二分類到多分類的深度解析 聯系 函數性質:二者都是非線性函數 ,也都是指數歸一化函數,可將輸入值映射為0到1之間的實數 ,都能把輸出轉化成概率分布的形式,在神經網絡中常作為激活函數使用。Softmax是Sigmoid的推廣:從功能角度看,Softmax函數可視為…

文件系統交互實現

關于之前的搭建看QT控件文件系統的實現-CSDN博客,接下來是對本程序的功能完善,我想著是這樣設計的,打開一個目錄以后,鼠標選中一個項可以是目錄,也可以是文件,右鍵可以出現一個菜單選擇操作,比如…

[ctfshow web入門] web75

信息收集 啟用了open_basedir,所以之前的方法又不能用了 解題 cforeach(new DirectoryIterator("glob:///*") as $a){echo($a->__toString(). ); } ob_flush();cif ( $a opendir("glob:///*") ) {while ( ($file readdir($a)) ! false …

Vulfocus靶場-文件上傳-3

WSO2 文件上傳 (CVE-2022-29464) WSO2是一家成立于 2005 年的開源技術提供商。它提供了一個企業平臺,用于在本地和整個 Internet 上 集成應用程序編程接口(API)、應用程序和 Web 服務。 某些 WSO2 產品允許無限制的文件上傳和遠程代碼執行。…

基于MCP的橋梁設計規范智能解析與校審系統構建實踐

引言 今天本文準備盤一個大活,聊一聊偏特定行業一點的AI技術深入應用思考及實踐。 一、傳統設計行業項目背景與行業痛點 在橋梁設計領域,標準規范是設計的基礎,直接關系到橋梁結構的安全性、耐久性和經濟性。然而,傳統的規范應…

遠程連接電腦的方法?異地遠程桌面連接和三方軟件實現

遠程連接電腦,是指通過網絡技術,在一臺設備上操控另一臺設備的電腦桌面,實現跨地域的操作和管理。在日常工作、技術支持、遠程辦公等場景中,遠程連接電腦都發揮著重要作用。實現遠程連接電腦主要有系統自帶工具和第三方軟件兩種方…

win11 安裝 wsl ubuntu 18.04后換源失敗!

記錄幾個問題是如何解決的。 一 下載wsl后,有報錯: Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x8007019e Error: 0x8007019e ??????? Linux ? Windows ???? Press any key to continue... …

PY32系列單片機離線燒錄器,可配置選項字節和上機臺批量燒錄

PY32離線燒錄器采用 MINI-USB 接口,提供穩定的物理連接。設備與電腦采用串口方式通訊,波特率固定為 1M。需配合我們的上位機使用。PY32離線燒錄器現支持芯片型號在PY32F002A/002B/002/003/030/071/072/040/403/303各封裝和XL32F001/003。燒錄器僅提供 3.…

深入理解 this 指向與作用域解析

引言 JavaScript 中的 this 關鍵字的靈活性既是強大特性也是常見困惑源。理解 this 的行為對于編寫可維護的代碼至關重要,但其動態特性也會讓我們感到困惑。 與大多數編程語言不同,JavaScript 的 this 不指向函數本身,也不指向函數的詞法作…

# IntelliJ IDEA企業版開發入門:包、類與項目結構詳解

--- ## 一、項目結構與包的概念 ### 1. 標準項目目錄解析 在IntelliJ IDEA中,一個Java項目通常包含以下核心目錄: - **src**:源代碼根目錄。 - **main**:主代碼目錄,存放業務邏輯代碼。 - **java**:Java…

NGINX 開源與社區動態:從基石到浪潮,持續演進的生態力量

NGINX 之所以能夠成為全球應用最為廣泛的 Web 服務器和反向代理軟件之一,其成功的核心驅動力無疑是開源。開放的源代碼、活躍的社區參與以及透明的開發過程,共同鑄就了 NGINX 的輝煌。然而,正如所有大型開源項目一樣,NGINX 的開源之路也并非一帆風順,其社區動態也時常涌現…

Electron(一)

前言: 參考尚硅谷視頻記錄:b站尚硅谷視頻-1小時上手electron 一、什么是electron? 是一款應用廣泛的、跨平臺的、桌面應用開發框架。 應用廣泛:很多桌面應用都是這個框架寫的,例如騰訊qq、百度云跨平臺:跨window、…

AI Agent開發第64課-DIFY和企業現有系統結合實現高可配置的智能零售AI Agent(上)

開篇 我們之前花了將近10個篇章講Dify的一些基礎應用,包括在講Dify之前我們講到了幾十個AI Agent的開發例子,我不知道大家發覺了沒有,在AI Agent開發過程中我們經常會伴隨著這樣的一些問題: 需要經常改貓娘;需要經常改調用LLM的參數,甚至在一個流程中有3個節點,每個節點…

ssti刷刷刷

[NewStarCTF 公開賽賽道]BabySSTI_One 測試發現過濾關鍵字,但是特殊符號中括號、雙引號、點都能用 可以考慮拼接或者編碼,這里使用拼接 ?name{{()["__cla"~"ss__"]}}?name{{()["__cla"~"ss__"]["__ba&…

google-Chrome常用插件

google-Chrome常用插件 1. json格式化展示插件 github下載jsonview-for-chrome插件 通過離線安裝方式 拓展程序-》管理拓展程序-》打開開發者模式-》加載已解壓的拓展程序-》選擇拓展程序解壓的位置 2. 翻譯插件 插件下載地址:Immersive Translate - Bilingual …

基于redis實現分布式鎖方案實戰

分布式鎖的進階實現與優化方案 作為Java高級開發工程師,我將為您提供更完善的Redis分布式鎖實現方案,包含更多生產級考量。 1. 生產級Redis分布式鎖實現 1.1 完整實現類(支持可重入、自動續約) import redis.clients.jedis.Je…

XML簡要介紹

實際上現在的Java Web項目中更多的是基于springboot開發的,所以很少再使用xml去配置項目。所以我們的目的就是盡可能快速的去了解如何讀懂和使用xml文件,對于DTD,XMLSchema這類約束的學習可以放松,主要是確保自己知道這里面的大致…

UI自動化測試中,一個完整的斷言應所需要考慮的問題

在UI自動化測試中,一個完整的斷言應全面覆蓋用戶界面(UI)的功能性、交互性和視覺正確性。以下是斷言需要包含的核心內容及詳細說明: 一、基礎元素驗證 存在性斷言 驗證元素存在于DOM中示例代碼(Python + Selenium):assert driver.find_element(By.ID, "submit_btn&…