一、效果图

二、代码

2.1、导入依赖(已经安装过node.js)

npm install element-plus --save

注意:要是安装失败,可以使用淘宝镜像进行下载,如下:

2.2、设置淘宝镜像源

由于 npm 原始源在国外,下载速度比较慢,所以最好切换为国内镜像源,这里选择 淘宝镜像源

2.2.1、安装nrm

首先我们来安装一下nrmnrm能够管理npm源

npm install -g nrm --registry https://registry.npmmirror.com/

安装完 nrm 后,可以通过下面的命令来查看当前可用源

nrm ls

运行结果:

2.2.2、设置npm的镜像源

  1. 查看npm当前镜像源

    npm config get registry
  2. 设置npm使用淘宝镜像源

    npm config set registry https://registry.npmmirror.com/
  3. 查看结果

   

2.3、引入(main.ts文件)

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
import router from './router' createApp(App).use(ElementPlus).use(router).mount('#app')

2.4、使用(实现curd功能)

<template >
<h2>商品管理</h2>
<div id="big">
<!-- 导入element框架的表格 -->
<el-table :data="tableData" border style="width: 100%">
<el-table-column type="selection" width="55" align="center" />
<el-table-column prop="id" label="商品编号" align="center" />
<el-table-column prop="name" label="名称" align="center" />
<el-table-column prop="price" label="价格" align="center" />
<el-table-column prop="LoadingDate" label="上货日期" align="center" />
<el-table-column prop="isSold" label="是否下架" align="center" #default="scope">
<input type="checkbox" v-model="scope.row.isSold">
</el-table-column>
<el-table-column label="操作" align="center" width="200" #default="scope">
<el-button type="danger" size="small" @click="del(scope.$index)">删除</el-button>
<el-button type="primary" size="small" @click="show(scope.$index,scope.row)">修改</el-button>
<el-button type="info" size="small">详情</el-button>
</el-table-column> </el-table>
</div> <!-- 模式窗口 -->
<fieldset>
<legend>商品详情</legend>
商品编号:<input type="text" placeholder="请输入商品编号" v-model="productInfo.id">
<br /><br />
商品名称:<input type="text" placeholder="请输入商品名称" v-model="productInfo.name">
<br /><br />
商品价格:<input type="number" placeholder="请输入商品价格" v-model="productInfo.price">
<br /><br />
上货日期:<input type="date" v-model="productInfo.LoadingDate">
<br /><br />
是否下架:<input type="radio" value="true" name="dates" v-model="productInfo.isSold"> 是
<input type="radio" value="false" name="dates" checked v-model="productInfo.isSold"> 否
<br /><br /> <el-button type="success" @click="add()">添加</el-button>
<el-button type="primary" @click="update()">修改</el-button>
<el-button type="danger">批量删除</el-button> </fieldset> </template>
<script lang="ts">
import { reactive } from 'vue'; export default {
setup() {
// 定义要渲染到页面的初始数据
const tableData = reactive([
{
id: "201300001",
name: '农夫山泉',
price: "1.2",
LoadingDate: "2013-01-07",
isSold: "true"
},
{
id: "201300002",
name: '百岁山',
price: "3.5",
LoadingDate: "2014-09-21",
isSold: "true"
},
{
id: "201300003",
name: '棒棒糖',
price: "1.5",
LoadingDate: "2015-02-01",
isSold: "false"
},
{
id: "201300004",
name: '冰激凌',
price: "8",
LoadingDate: "2019-06-13",
isSold: "true"
},
{
id: "201300005",
name: '蛋糕',
price: "66",
LoadingDate: "2021-11-12",
isSold: "false"
},
]); // 文本框双向绑定的值
const productInfo = reactive({ id: "", name: "", price: "", LoadingDate: "", isSold: "" }); // 删除功能,传索引行数
function del(index: number) {
// splice方法,传两个参数:第几行开始,删除多少条(如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素)
tableData.splice(index, 1)
} // 添加功能
function add() {
// 定义对象,存储从文本框获取到的数据
const addArray = {
id: productInfo.id,
name: productInfo.name,
price: productInfo.price,
LoadingDate: productInfo.LoadingDate,
isSold: productInfo.isSold,
}
// push方法,添加一条数据到初始数据的数组中
tableData.push(addArray);
} // 点击表格上的修改按钮,把该行信息显示到文本框里
// 传该行的下标(index)与该行(row)信息过来,渲染文本框
// 注意:要是index参数虽然在这里看似没有用上,但是不写index参数会不实现功能的!!!!
function show(index:number,row:any){
productInfo.id = row.id;
productInfo.name = row.name;
productInfo.price = row.price;
productInfo.LoadingDate = row.LoadingDate;
productInfo.isSold = row.isSold;
} // 修改功能
function update() {
// 也是一样的定义一个对象,用于存储文本框的数据
const updateArray = {
id: productInfo.id,
name: productInfo.name,
price: productInfo.price,
LoadingDate: productInfo.LoadingDate,
isSold: productInfo.isSold,
}
// 返回传入一个测试条件(函数)符合条件的数组第一个元素位置。
// 大意就是:传入一个参数(id),让id与文本框里的id对比,找到两个id相同的哪个元素,保存
const index = tableData.findIndex(o => o.id === updateArray.id);
// 然后删掉index找到的那一条元素,先删,然后再添加文本框里面的数据到数组中
// splice方法的第三个参数是添加一条新元素到数组里
tableData.splice(index, 1, updateArray)
} // 暴露方法到页面上
return { tableData, del, productInfo,add,show,update }
}
}
</script>
<style scoped>
h2 {
text-align: center;
} #big {
width: 80%;
margin: auto;
} fieldset {
width: 40%;
margin-left: 10%;
margin-top: 30px;
}
</style>

vue3 结合 element-plus 框架实现增删改查功能(不连接数据库)的更多相关文章

  1. tp框架的增删改查

    首先,我们来看一下tp框架里面的查询方法: 查询有很多种,代码如下: <?php namespace Admin\Controller; use Think\Controller; class ...

  2. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  3. Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  4. Entity - 使用EF框架进行增删改查 - 模型先行

    模型先行:先创建数据库实体模型,然后再进行数据库的增删改查. 基本步骤是不变的,可参照 <Entity - 使用EF框架进行增删改查 - 数据库先行> 其中的不同是,在创建数据库实体模型的 ...

  5. springmvc+spring3+hibernate4框架简单整合,简单实现增删改查功能

    转自:https://blog.csdn.net/thinkingcao/article/details/52472252 C 所用到的jar包     数据库表 数据库表就不用教大家了,一张表,很简 ...

  6. ssm 框架实现增删改查CRUD操作(Spring + SpringMVC + Mybatis 实现增删改查)

    ssm 框架实现增删改查 SpringBoot 项目整合 一.项目准备 1.1 ssm 框架环境搭建 1.2 项目结构图如下 1.3 数据表结构图如下 1.4 运行结果 二.项目实现 1. Emplo ...

  7. BootstrapTable与KnockoutJS相结合实现增删改查功能

    http://www.jb51.net/article/83910.htm KnockoutJS是一个JavaScript实现的MVVM框架.通过本文给大家介绍BootstrapTable与Knock ...

  8. JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能

    JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id="productDg"></table> &l ...

  9. jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!)

    jQuery EasyUI/TopJUI实现数据表格的增删改查功能(不写js,纯HTML实现!!!) 废话不多说,直接贴上代码 <table id="configEdatagrid&q ...

  10. 【BootStrap】--具有增删改查功能的表格Demo

    [BootStrap]--具有增删改查功能的表格Demo 目录(?)[+] 前言 版本一 样式 代码 版本二 样式 代码 版本三 样式 代码 总结 前言 bootstrap的表格样式,有类似EasyU ...

随机推荐

  1. Jetpack架构组件学习(4)——APP Startup库的使用

    最近在研究APP的启动优化,也是发现了Jetpack中的App Startup库,可以进行SDK的初始化操作,于是便是学习了,特此记录 原文:Jetpack架构组件学习(4)--App Startup ...

  2. .NET 7 性能改进 -- 至今为止最快的.NET平台

    2022年8月31日 Stephen Toub 发布的关于 .NET 7 性能改进的博客, 核心主题是 .NET 7 速度很快. 这篇博客非常的长,我尝试将它拷贝到Word 里,拷贝的时间都花了几分钟 ...

  3. 搭建eBackup对接NFS服务

    环境准备 两个虚拟机需要是仅主机并且同一网段 先搭建一个eBackup环境虚拟机 搭建步骤可访问:(https://www.cnblogs.com/zhengyan6/p/16220774.html) ...

  4. Springboot shiro JWT集成总结

    SpringBoot Shiro JWT 1.建表 DDL.sql CREATE TABLE `t_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, ` ...

  5. K8S_删除Pod总结

    K8S 不能直接删除Pod,直接删除Pod,会被Deployment重启 删除前,必须先删除对应的Deployment 例子: // 查出Pod [root@k8s-master ~]# kubect ...

  6. 【读书笔记】C#高级编程 第二十二章 安全性

    (一)身份验证和授权 安全性的两个基本支柱是身份验证和授权.身份验证是标识用户的过程,授权在验证了所标识用户是否可以访问特性资源之后进行的. 1.标识和Principal 使用标识可以验证运行应用程序 ...

  7. 更改elasticsearch中索引的mapping

    文章转载自:https://www.cnblogs.com/uglyliu/p/12331964.html 昨天研发说在kibana中统计userid字段不出图,后来查到该字段显示冲突了,然后再查看了 ...

  8. Kubernetes 监控:Prometheus Operator + Thanos ---实践篇

    具体参考网址:https://www.cnblogs.com/sanduzxcvbnm/p/16291296.html 本章用到的yaml文件地址:https://files.cnblogs.com/ ...

  9. 【前端必会】前端开发利器VSCode

    介绍 工欲善其事必先利其器,开发工具方面选择一个自己用的顺手的,这里就用VSCode 安装参考 https://www.runoob.com/w3cnote/vscode-tutorial.html ...

  10. DevExpress弹框、右键菜单、Grid的使用

    很重要!!!Dev为了区分winform的命名,会把一些新添加的属性放在Properties对象里!!找不到想要的属性,记得到里面找找哦! 一.下拉框 在这里假设我们的数据源是db.List(),在这 ...