用element-ui进行简单的商品管理

安装element-ui

项目的控制台输入npm i element-ui -S

main.js

import ElementUI from 'element-ui';//引入element-ui模块
import 'element-ui/lib/theme-chalk/index.css';//引入element-ui的css样式
Vue.use(ElementUI);//使用ElementUI

商品管理组件

<template>
  <div>
    <h3>商品管理</h3>

    <div class="heard_search_container">

      <el-form :inline="true" class="demo-form-inline">
        <el-form-item label="价格:">
          <el-input v-model="input" placeholder="请输入内容"></el-input>
        </el-form-item>
        <el-form-item label="名称:">
          <el-input v-model="val" placeholder="请输入内容"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="clickAdd">添加</el-button>
        </el-form-item>
      </el-form>
      <!-- </div> -->
      <div class="heard_search_bottom">
        <span>商品总数:{{bookTotal}}</span>
      </div>

      <template>
        <el-table :data="bookList" border style="width: 100%">
          <el-table-column prop="number" label="价格" width="50" style="text-algin:center"></el-table-column>
          <el-table-column prop="user" label="名称" width="160"></el-table-column>
          <el-table-column prop="time" label="添加时间" width="200"></el-table-column>
          <el-table-column label="操作">
            <template slot-scope="scope">
              <el-button size="mini" @click="clickEdit(scope.$index)" type="success">编辑</el-button>
              <el-button size="mini" type="danger" @click="clickDel(scope.$index)">删除</el-button>
            </template>
          </el-table-column>
        </el-table>
      </template>
    </div>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data() {
    return {
      input: "", //输入的内容(序号)
      val: "", //  输入的名称
      flag: false, //编辑的状态
      bookList:JSON.parse(window.localStorage.getItem("bookList"))||[],//存放图书管理数据,获取存储在
      //   bookList: [],//存放图书管理数据
    };
  },
//   mounted() {//挂载后
  // 读取localStorage中的数据
//     let tableDatas = localStorage.bookList;
//     if (tableDatas) {
//       this.bookList = JSON.parse(tableDatas);
//     }
//   },
  methods: {
    clickAdd() {
      //添加

      // 判断是否点击了编辑按钮
      if (this.flag) {
        this.bookList.forEach(item=>{//遍历数组
          if(item.number===this.input){//如果遍历数组中的序列号和输入的序列号一样
            item.user=this.val;//那么将输入的图书名称,赋值给遍历对应的图书名称
          }
        });
        this.input="";//清空输入内容
        this.val="";//清空输入内容
        this.save();//保存到本地
        this.flag=false;
      } else {
        // 判断输入的内容不能为空
        if (this.input.length !== 0 && this.val !== 0) {
          var rel = true;
          // 判断去重
          this.bookList.forEach((item) => {//遍历数组
            //如果遍历数组中的序列号和输入的序列号一样,或者遍历数组中的图书名称和输入的图书名称一致
            if (item.number == this.input || item.user == this.val) {
              this.$message("图书名称已存在");//这说明图书已存在
              rel = false;
              return false;
            }
          });

          if (rel) {//添加
            this.bookList.push({
              number: this.input,
              user: this.val,
              time: new Date().toLocaleString(),
            });
          }
          this.input = "";//添加后清空
          this.val = "";//添加后清空
          this.save();//保存到本地
        } else {
          //   输入为空的提示
          this.$alert("输入的编号或图书名称不能为空", "提示", {
            confirmButtonText: "确定",
            callback: () => {},
          });
        }
      }
    },
    clickEdit(index) {
      //点击修改
      this.flag = true;
      var updateData = this.bookList[index];
      this.input = updateData.number;
      this.val = updateData.user;
    },
    clickDel(index) {
      //删除
      this.bookList.splice(index, 1);
      this.save();
    },

    save() {//保存到本地(封装的save方法)
      // localStorage.bookList=JSON.stringify(this.bookList);
      window.localStorage.setItem("bookList", JSON.stringify(this.bookList));
    },
  },
  computed: {//计算属性
    bookTotal(){//图书总数
      return this.bookList.length;
    }
  },
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.el-table th > .cell {
  text-align: center;
}
.el-table .cell {
  text-align: center;
}
</style>
  <style lang="scss" scoped>
                     h3 {
                       text-align: center;
                     }
.heard_search_container {
  width: 50%;
  margin: 0 auto;
  background: skyblue;
.heard_search_bottom {
  width: 100%;
  height: 42px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-bottom: 1px solid lightgreen;
  border-top: 1px solid lightgreen;
}
}
.el-form-item {
  margin-bottom: 8px !important;
  margin-top: 8px !important;
}

</style>

效果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/208159.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32CubeMx+MATLAB Simulink点灯程序

STM32CubeMxMATLAB点灯程序 ✨要想实现在MATLAB Simulink环境下使用STM32&#xff0c;前提是已经搭建好MATLAB环境并且安装了必要的Simulink插件&#xff0c;以及对应的STM32支持包。 &#x1f33f;需要准备一块所安装支持包支持的STM32开发板. &#x1f516;具体支持包详情页…

Java基础第十八天 - 网络编程

计算机网络 什么是计算机网络 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统&#xff0c;从而使众多的计算机可以方便地互相传递信息&#xff0c;共享硬件、软件、数据信息等资源。 计算机网络主要功能 1.实现资源共享 2.信息…

【VMware相关】VMware vSphere存储方案

一、iSCSI存储 参考文档 VMware官方文档&#xff1a;配置iSCSI适配器和存储 华为配置指南&#xff1a;VMware ESXi下的主机连通性指南 1、配置说明 如下图所示&#xff0c;VMware配置iSCSI存储&#xff0c;需要将物理网卡绑定到VMKernel适配器上&#xff0c;之后再将VMKernel适…

微信开发者工具真机调试连接状态在正常和未连接之间反复横跳

开启局域网模式能解决这个问题&#xff0c;目前只找到这一个方法

测试新人如何去开展软件测试工作

1. 软件测试 在一般的项目中&#xff0c;一开始均为手动测试&#xff0c;由于自动化测试前期投入较大&#xff0c;一般要软件项目达到一定的规模&#xff0c;更新频次和质量均有一定要求时才会上自动化测试或软件测试。 1.1. 项目中每个成员的测试职责 软件测试从来不是某一个职…

微信小程序自定义顶部导航栏的胶囊和微信自带的胶囊一样的透明背景色

想要实现微信自带的右上角胶囊背景透明很简单&#xff0c;只需要在pages.js里面设置下面配置就可以了&#xff1a; "navigationStyle": "custom","navigationBarTextStyle": "white" 但是设置完这个后&#xff0c;胶囊的背景色是那种…

业余爱好-社会工程管理记账报税

税务问题笔记 印花税税费申报及缴纳财务和行为税合并纳税申报增值税及附加税费申报企业所得税季度A类申报残疾人就业保障金申报财务报表个税申报 印花税 印花税是对在经济活动和经济交往中书立、领受具有法律效力的凭证的行为征收的一种税。 税费申报及缴纳 财务和行为税合并…

JMeter怎样测试WebSocket

一、安装WebSocket取样器 1、从JMeter插件管理器官网下载&#xff1a; https://jmeter-plugins.org/ 搜索websocket 1、jetty-http-9.1.2.v20140210.jar 2、jetty-io-9.1.2.v20140210.jar 3、jetty-util-9.1.2.v20140210.jar 4、websocket-api-9.1.1.v20140108.jar 5、w…

DAPP开发【04】测试驱动开发

测试驱动开发(Test Driven Development)&#xff0c;是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码&#xff0c;然后只编写使测试通过的功能代码通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码&#xff0c…

SpringBoot集成邮箱验证码功能(注册/改密)

准备工作 开启SMTP服务 前往你的邮箱网站&#xff0c;以网易邮箱为例&#xff0c;打开网易邮箱地址&#xff0c;登录你的邮箱&#xff0c;进入邮箱管理后台界面。点击“设置”》》“POP3/SMTP/IMAP”后&#xff0c;点击开启SMTP服务即可。 技术实现 Spring Boot 发送邮件验证…

跨越鸿沟-颠覆性产品营销指南笔记

跨越鸿沟-颠覆性产品营销指南笔记 一、发现鸿沟 一、技术采用生命周期 技术采用生命周期 如果采用一个新产品&#xff0c;我们就得改变一贯的行为模式&#xff0c;或者改变我们依赖的其他产品或服务&#xff0c;那么&#xff0c;我们对技术采用的态度就变得很重要&#xff0c…

入门单片机和嵌入式必须学模电数电吗?

入门单片机和嵌入式必须学模电数电吗&#xff1f; 关于这个话题答案&#xff0c;不能一概而论&#xff0c;主要与从事的具体工作内容有关。 嵌入式开发&#xff0c;好多人认为硬件和软件都需要学习&#xff0c;其实不然。 嵌入式领域涵盖的内容很广&#xff0c;比如嵌入式MCU、…

【编译警告】start value has mixed support, consider using flex-start instead

css规范问题&#xff0c;flex布局下&#xff0c;justify-content:start; 应该为&#xff1a;justify-content: flex-start

深入探索Maven:优雅构建Java项目的新方式(二)

Meven高级 1&#xff0c;属性1.1 属性1.1.1 问题分析1.1.2 解决步骤步骤1:父工程中定义属性步骤2:修改依赖的version 1.2 配置文件加载属性步骤1:父工程定义属性步骤2:jdbc.properties文件中引用属性步骤3:设置maven过滤文件范围步骤4:测试是否生效 1.3 版本管理 2&#xff0c;…

【Python表白系列】无限弹窗,满屏表白代码来啦(完整代码)

文章目录 满屏表白代码环境需求完整代码详细分析系列文章 满屏表白代码 环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0&#xff08;可选&#xff0c;这个库用于打包&#xff0c;使程序没有python环境也可以运行&#xff0c;如果想发给好朋友的话需…

什么是勒索软件

勒索软件 1. 定义2. 勒索软件的类型3. 勒索软件的工作方式4. 如何处置勒索软件 1. 定义 勒索软件又称勒索病毒&#xff0c;是一种特殊的恶意软件。勒索软件的特殊之处在于&#xff0c;它采用加密等技术手段限制受害者访问系统或系统内的数据&#xff08;如文档、邮件、数据库、…

基于YOLOv8深度学习的钢材表面缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

【Skynet 入门实战练习】分布式 ID | 雪花算法 | 缓存设计 | LRU算法 | 数据库

文章目录 前言雪花算法LRU 算法缓存模块数据库测试逻辑 前言 本节实现了 分布式 ID 生成系统&#xff0c;采用雪花算法实现唯一 ID&#xff1b;实现缓存架构&#xff0c;采用 LRU &#xff08;最近最少使用&#xff09;算法。 雪花算法 分布式 ID 生成算法的有很多种&#x…

hadoop-3.3.5安装过程

准备资源三台虚拟机&#xff1a; 1&#xff09;准备3台服务器&#xff08;关闭防火墙、静态IP、主机名称&#xff09; 2&#xff09;安装JDK 3&#xff09;配置环境变量 4&#xff09;安装Hadoop 5&#xff09;配置环境变量 安装虚拟机&#xff08;略&#xff09;--1台即…

四、C语言数据类型和变量

目录 1. 数据类型介绍 1.1 字符型 1.2 整型 1.3 浮点型 1.4 布尔类型 1.5 各种数据类型的长度 1.5.1 sizeof 操作符 1.5.2 数据类型长度 2. signed 和 unsigned 3. 数据类型的取值范围 4. 变量 4.1 变量的创建 4.2 变量的分类 5. 算术操作符&#xff1a;、-、*、…