一、效果图

二、代码

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. 第九十七篇:CSS的选择器及优先级

    好家伙,来补一点关于CSS的基础 1.id选择器 id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式 使用#号来定义样式 2.class选择器 class 选择器用于描述一组元素的样式 ...

  2. Centos7中用Docker安装MySQL教程

    第一步 安装Docker 1.1 参考这位博主给出的命令安装好 https://blog.csdn.net/weixin_43423864/article/details/109481260 第二步 ...

  3. 如何不编写 YAML 管理 Kubernetes 应用?

    Kubernetes 将自身边界内的事物都抽象为资源.其中的主要部分,是以 Deployment.StatefulSet 为代表的 workload 工作负载控制器,其他各类资源都围绕这些主要的资源工 ...

  4. Awvs+nessus docker版本

    awvs-nessus 拉取镜像 docker pull leishianquan/awvs-nessus:v2 启动 docker run --name awvs-nessus -it -d -p ...

  5. TDengine概述以及架构模型

    TDengine TDengine是一个高效的存储.查询.分析时序大数据的平台,专为物联网.车联网.工业互联网.运维监测等优化而设计. 您可以像使用关系型数据库MySQL一样来使用它. TDengin ...

  6. 接入Twitter和Facebook分享踩坑记录

    准备工作 1.首先需要在HTML的head添加下述meta标签内容,在分享时,Twitter和Facebook会爬取该网站页面的meta内容,然后生成分享卡片. 2.按照下述配置完成后,需要把内容发布 ...

  7. Python数据科学手册-机器学习之特征工程

    特征工程常见示例: 分类数据.文本.图像. 还有提高模型复杂度的 衍生特征 和 处理 缺失数据的填充 方法.这个过程被叫做向量化.把任意格式的数据 转换成具有良好特性的向量形式. 分类特征 比如房屋数 ...

  8. MySQL数据表更新模板

    -- ---------------------------- -- 新增表 -- ---------------------------- CREATE TABLE `biz_circle_lead ...

  9. 1- Mac和Linux远程连接服务器异常修复(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)

    p.p1 { margin: 0; font: 11px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures: no-c ...

  10. (五)JPA - 原生SQL实现增删改查

    6.原生SQL JPA除了对JPQL提供支持外,还对原生SQL语句也提供了支持.下面小节一起来看看吧. 6.1 查询单个 示例代码: @Test public void getSingle() { E ...