Vue.js 案例——商品管理

一.需要做出的效果圖:

二.實現的步驟

首先,先建一個項目,命名Table在Table項目中的components里新建一個MyTable.vue文件

第二步,在原有的?HelloWorld.vue中寫入代碼。

HelloWorld.vue代碼如下:

<script setup>
import { ref } from 'vue'defineProps({msg: String,
})const count = ref(0)
</script><template><h1>{{ msg }}</h1><div class="card"><button type="button" @click="count++">count is {{ count }}</button><p>Edit<code>components/HelloWorld.vue</code> to test HMR</p></div><p>Check out<a href="https://vuejs.org/guide/quick-start.html#local" target="_blank">create-vue</a>, the official Vue + Vite starter</p><p>Install<a href="https://github.com/johnsoncodehk/volar" target="_blank">Volar</a>in your IDE for a better DX</p><p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
</template><style scoped>
.read-the-docs {color: #888;
}
</style>

MyTable.vue代碼如下:

<template><table class="table table-striped table-bordered"><!-- 表格標題區域 --><thead><tr><slot name="header"></slot></tr></thead><!-- 表格主體區域 --><tbody><tr v-for="(item, index) in goodsList" :key="item.id"><slot name="body" :row="item" :index="index"></slot></tr></tbody></table>
</template><script setup>
const props = defineProps({goodsList: {type: Array,required: true,default: []}
})
</script>

在App.vue中寫入代碼:

<template><h4>商品管理</h4><MyTable :goodsList="goodsList"><template v-slot:header><th scope="col">#</th><th scope="col">商品名稱</th><th scope="col">價格</th><th scope="col">標簽</th><th scope="col">操作</th></template><template #body="{ row, index }"><td>{{ index + 1 }}</td><td>{{ row.goods_name }}</td><td>¥{{ row.goods_price }}</td><td><input type="text" v-if="row.inputVisible" class="form-control form-control-sm ipt-tag" v-focusv-model="row.inputValue" @keyup.esc="row.inputValue = ''"@blur="onInputConfig(row)"@keyup.enter="onInputConfig(row)"/><button class="btn btn-outline-primary rounded-pill" v-else @click="row.inputVisible = true">+Tag</button><span class="btn btn-outline-dark" v-for="item in row.tags" :key="item">{{ item }}</span></td><td><button type="button" class="btn btn-outline-danger btn-sm" @click="onRemove(row.id)">刪除</button></td></template></MyTable>
</template><script setup>
import MyTable from './components/MyTable.vue'import { ref } from 'vue'const goodsList = ref([{id: 1,goods_name: '夏季專柜同款女鞋',goods_price: 298,tags: ['舒適', '透氣'],inputVisible: false,inputValue: ''},{id: 2,goods_name: '冬季保暖女士休閑雪地靴 舒適加絨防水短靴 防滑棉鞋',goods_price: 89,tags: ['保暖', '防滑'],inputVisible: false,inputValue: ''},{id: 3,goods_name: '秋冬新款女士毛衣 套頭寬松針織衫 簡約上衣',goods_price: 199,tags: ['秋冬', '毛衣'],inputVisible: false,inputValue: ''},{id: 4,goods_name: '2023春秋裝新款大碼女裝 襯衫 上衣',goods_price: 19,tags: ['雪紡衫', '打底'],inputVisible: false,inputValue: ''},{id: 5,goods_name: '長款長袖圓領女士毛衣 2022秋裝新款假兩件連衣裙',goods_price: 178,tags: ['圓領', '連衣裙'],inputVisible: false,inputValue: ''}
])const onRemove = id => {goodsList.value = goodsList.value.filter(item => item.id != id)
}const vFocus = el => { el.focus() }const onInputConfig = row => {const val = row.inputValuerow.inputValue = ''row.inputVisible = falseif (!val || row.tags.indexOf(val) !== -1) {return}row.tags.push(val)
}
</script><style scoped>
th {text-align: center;
}
td {line-height: 30px;
}
.ipt-tag {width: 80px;display: inline;
}
input, span, button {margin-right: 10px;
}
</style>

最后,修改main.js的代碼:

import { createApp } from 'vue'
import './bootstrap.css'
import App from './App.vue'createApp(App).mount('#app')

三.運行結果

ctrl+s保存,運行其結果:

點擊+Tag可以添加不同的標簽,例如:

點擊刪除也可以刪除該行,刪除如上第一行,如下所示:

今天就分享到此,感謝預覽~

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

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

相關文章

KumiaoQQ機器人框架源碼

源碼介紹 酷喵機器人框架基于PC協議與MGCH的結合&#xff0c;MGCH即 MiraiGO-CQhttp&#xff08;代碼類型&#xff1a;易語言&#xff09;基本的API功能已經實現&#xff0c;具體可自測&#xff08;教程/日志/說明文本已附帶&#xff09;開放源碼僅供參考學習交流&#xff0c;…

遠超美國!中國AI專利數量全球第一!商湯推出面向C端用戶大模型“Vimi”,可生成分鐘級視頻!|AI日報

文章推薦 蘋果獲得OpenAI董事會觀察員職位&#xff01;Runway正籌集新一輪融資&#xff0c;估值40億美元&#xff01;&#xff5c;AI日報 AI基準測評&#xff08;下&#xff09;&#xff1a;視頻生成、代碼能力、邏輯推理&#xff0c;AI是否已經超越人類&#xff1f; 聯合國…

【linux高級IO(一)】理解五種IO模型

&#x1f493;博主CSDN主頁:杭電碼農-NEO&#x1f493; ? ?專欄分類:Linux從入門到精通? ? &#x1f69a;代碼倉庫:NEO的學習日記&#x1f69a; ? &#x1f339;關注我&#x1faf5;帶你學更多操作系統知識 ? &#x1f51d;&#x1f51d; Linux高級IO 1. 前言2. 重談對…

kubernetes dashboard安裝

1.查看符合自己版本的kubernetes Dashboard 比如我使用的是1.23.0版本 https://github.com/kubernetes/dashboard/releases?page5 對應版本 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml修改對應的yaml,…

Linux Conda 入門案例教程

Conda 的基本概念 1.什么是 Conda&#xff1f;&#xff1a;Conda 是一個開源的包管理器和環境管理器&#xff0c;用于管理 Python 和其他語言的環境和依賴項。 2.Conda 的特點&#xff1a;Conda 的特點包括快速、可靠、靈活和跨平臺支持等。 安裝和配置 1.安裝 Conda&#x…

adb不插usb線通過wifi調試

說起做手機開發也有好多年了&#xff0c;說來慚愧&#xff0c;我最近才知道安卓手機是可以不插數據線進行開發調試的。起因是公司近期采購了一批安卓一卡通設備&#xff0c;需要對其進行定制開發APP,但是由于我插USB調試發現沒有反應。通過詢問廠家才知道可以通過WIFI進行調試。…

請注意,以下這幾種操作都會導致流量卡被停用!

最近一段時間&#xff0c;小編經常收到一些反饋&#xff0c;明明是剛辦理的手機號還沒有用幾天就被停用了&#xff0c;今天&#xff0c;這篇文章我們要了解就是手機號被停用的問題。 ? 對于新辦理的手機號會被停用這個問題&#xff0c;主要還是因為運營商為了防止電話詐騙&…

vue監聽數據時 newValue, oldValue操作處理

要只存入新更改的數據&#xff0c;可以在 watch 的回調函數中進行比較&#xff0c;篩選出有變化的屬性并將其存入新數組。以下是一個示例代碼&#xff0c;假設要監聽的對象為 obj&#xff1a; data() {return {differenceArray: [], obj: { /* 對象的初始屬性 */ }}; }, compu…

java數據結構集合復習之包裝類和泛型

前言: 這是我最一年學習java的一部分的回顧總結 1.包裝類 在Java中&#xff0c;由于基本類型不是繼承自Object&#xff0c;為了在泛型代碼中可以支持基本類型&#xff0c;Java給每個基本類型都對應了一個包裝類型。 1.1基本數據類型和對應的包裝類 ----—基本數據類型包裝類…

ubuntu軟件源的兩種格式和環境變量

1. ubuntu的/etc是什么目錄&#xff1f; 在Ubuntu操作系統中&#xff0c;/etc/是一個特殊的目錄&#xff0c;它包含系統的配置文件。這些配置文件用于設置各種系統和應用程序的參數和選項。 一般來說&#xff0c;用戶可以在這個目錄下找到各種重要的配置文件&#xff0c;如網絡…

Web3 ETF的主要功能

Web3 ETF的主要功能可以概括為以下幾點&#xff0c;Web3 ETF仍是一項新興投資產品&#xff0c;其長期表現仍存在不確定性。投資者在投資Web3 ETF之前應仔細研究相關風險&#xff0c;并做好充分的風險評估。北京木奇移動技術有限公司&#xff0c;專業的軟件外包開發公司&#xf…

商務辦公優選!AOC Q27E3S2商用顯示器,打造卓越新體驗!

摘要&#xff1a;助辦公室一族縱橫職場&#xff0c;實現高效舒適辦公&#xff01; 在日常商務辦公中&#xff0c;對于辦公室一族來說總有太多“難難難難難點”&#xff1a;工作任務繁瑣&#xff0c;熬夜加班心力交瘁、長時間伏案工作導致頸椎、眼睛等出現問題&#xff0c;職業…

BBA車主,千萬別去試駕問界M9

文 | AUTO芯球 作者 | 雷慢&響鈴 我勸你啊&#xff0c;千萬別去試駕問界M9&#xff0c; 不然啊&#xff0c;可能1個小時50萬就沒了&#xff0c; 不信你看這個“大冤種”&#xff0c; 他曾經發誓打死不買電車&#xff0c; 考慮了三、四年換寶馬X5&#xff0c; 結果談完…

GNU/Linux - 如何編譯kernel

使用 make 命令構建 Linux 內核涉及多個步驟。下面是整個過程的基本概述&#xff1a; 1. 獲取內核源代碼 * 從 kernel.org 或你的發行版軟件倉庫下載內核源代碼。 * 將源代碼解壓縮到一個目錄中。 2. 配置內核 * 切換到內核源代碼目錄。 * 可選擇清理源代碼樹&#xff1a;mak…

前端面試題5(前端常見的加密方式)

前端常見的加密方式 在前端進行數據加密主要是為了保護用戶的隱私和提升數據傳輸的安全性。前端數據加密可以采用多種方法&#xff0c;以下是一些常見的加密技術和方法&#xff1a; 1. HTTPS 雖然不是直接的前端加密技術&#xff0c;但HTTPS是保障前端與后端數據傳輸安全的基…

關于MCU-Cortex M7的存儲結構(flash與SRAM)

MCU并沒有DDR&#xff0c;所以他把代碼存儲在flash上&#xff0c;臨時變量和棧運行在SRAM上。之所以這么做是因為MCU的cpu頻率很低&#xff0c;都是幾十MHZ到一二百MHZ&#xff0c;flash的讀取速度能夠滿足cpu 的取指需求&#xff0c;但flash 的寫入速度很慢&#xff0c;所以引…

剛辦理的手機號被停用,你可能遇到這些問題了!

很多朋友都會遇到手機號被停用的情況&#xff0c;那么你知道你的手機號為什么會被停用嗎&#xff1f;接下來&#xff0c;關于手機號被停用的問題&#xff0c;跟著小編一塊來了解一下吧。 ?停機的兩種形態&#xff1a; 1、第一個是局方停機&#xff0c;即語音、短信和流量都不…

xmind2testcase工具將測試用例從Xmind轉為CSV導入禪道

使用xmind編寫測試用例&#xff0c;使用xmind2testcase工具將測試用例從Xmind轉為CSV導入禪道&#xff0c;便于管理。 1.工具準備 第一步&#xff1a;安裝python 第二步&#xff1a;安裝xmind2testcase工具 運行-cmd-打開命令提示符彈窗&#xff0c;輸入安裝命令 安裝命令&…

意圖數據集HWU、Banking預處理

當談到意圖數據集時&#xff0c;HWU、Banking和Clinc是三個常見的數據集。以下是關于這三個數據集的介紹&#xff1a; 目錄 一、數據集介紹 HWU數據集 Banking數據集 Clinc數據集 二、數據集預處理 數據處理 數據存儲 數據類別分析 句子長度統計 一、數據集介紹 HW…

嵌入式硬件電路常用設計軟件

目錄 1. Cadence Allegro 2. PADS 3. Altium Designer 4. Multisim 5. Protues 1. Cadence Allegro 功能&#xff1a; Cadence Allegro是Cadence公司推出的先進PCB&#xff08;Printed Circuit Board&#xff0c;印刷電路板&#xff09;設計布線工具&#xff0c;也是目前…