
这篇文章介绍vue组件总结的一个table案例!
主要实现axios请求数据,然后渲染到页面,删除当前列表,以及Tag标签,按钮和输入框按需展示,按键修饰符等等。。。
看完不会你打我。哈哈哈,开玩笑的,不多说,上刺刀!!
① 搭建项目的基本结构
② 请求商品列表的数据
③ 封装 MyTable 组件
④ 实现删除功能
⑤ 实现添加标签的功能
npm init vite-app table-demo
npm install
npm i less -D
npm run dev
5.安装 axios:
npm install axios@0.21.0 -S

main.js 代码:
import { createApp } from 'vue'
import App from './App.vue'
import axios from 'axios'
import './assets/css/bootstrap.css'
import './index.css'
// 配置axios请求根路径
axios.defaults.baseURL = 'https://www.escook.cn'
const app = createApp(App)
// 将axios挂载到全局
app.config.globalProperties.$http = axios
app.mount('#app')
index.css 代码:
:root {
font-size: 12px;
}
body {
padding: 8px;
}
MyTable 组件的封装要求 :
用户通过名为 data 的 prop 属性,为 MyTable.vue 组件指定数据源
在 MyTable.vue 组件中,预留名称为 header 的具名插槽
在 MyTable.vue 组件中,预留名称为 body 的作用域插槽
MyTable.vue 代码:
MyTable 组件
app.vue 代码:
app根组件
#
商品名称
价格
标签
操作
{{ index + 1 }}
{{ row.goods_name }}
¥{{ row.goods_price }}
{{ item }}
实现删除功能,单机即可删除当前项

实现添加标签的功能
回车或者input输入框失去焦点都判断,vla不为空,或者不重复,就添加到标签。

input失去焦点,标签添加,展示+Tag按钮。

✨个人笔记博客✨
星月前端博客
http://blog.yhxweb.top/
✨原创不易,还希望各位大佬支持一下
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️评论,你的意见是我进步的财富!