简单的vue+element-ui纯前端实现基本增删改查功能

这篇具有很好参考价值的文章主要介绍了简单的vue+element-ui纯前端实现基本增删改查功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

建立一个vue2的项目:

打开控制台,输入命令:vue create xxx(项目名称,记得要小写哈),并回车,记得选择vue2

简单的vue+element-ui纯前端实现基本增删改查功能

简单的vue+element-ui纯前端实现基本增删改查功能

 用vscode打开项目,并引入相关的依赖

打开项目终端,输入命令

npm i element-ui -S

npm install less-loader@5.0.0 --save  npm install less --save

简单的vue+element-ui纯前端实现基本增删改查功能

点击进入main.js,引入elementui ,加上下面几行代码,并保存

import ElementUI from 'element-ui'; 

import 'element-ui/lib/theme-chalk/index.css'; 

Vue.use(ElementUI);

懒得再建立组件,所以就全部修改HelloWorld.vue文件中代码为下面那些代码

<template>
<div>
  <div class="app">
  <div class="apper1">
    <el-input  placeholder="请输入日期" type="date" v-model="abj.date"></el-input>
  </div>
   <div class="apper2">
    <el-input placeholder="请输入姓名" v-model="abj.name"></el-input>
  </div>
   <div class="apper3">
    <el-input  placeholder="请输入地址" v-model="abj.address"></el-input>
  </div>
  <el-button type="primary" @click="add()">增加</el-button>
</div>

  <el-table
    ref="singleTable"
    :data="tableData"
    highlight-current-row
    @current-change="handleCurrentChange"
    style="width: 100%">
    <el-table-column
      type="index"
      width="50">
    </el-table-column>
    <el-table-column
      property="date"
      label="日期"
      width="120">
    </el-table-column>
    <el-table-column
      property="name"
      label="姓名"
      width="120">
    </el-table-column>
    <el-table-column
      property="address"
      label="地址"
      
     >
      
       
    </el-table-column>
     <el-table-column>
  <!-- eslint-disable-next-line -->
   <template slot-scope="scope" >
        <el-button  type="primary" size="small" @click="del(scope.$index)">删除</el-button>
        <el-button type="danger" size="small"  @click="edit(scope.$index,scope.row)">编辑</el-button>
        <el-dialog title="收货地址" :visible.sync="dialogFormVisible">
  <el-form :model="form">
    <el-form-item label="日期" :label-width="formLabelWidth">
      <el-input v-model="form.date" autocomplete="off" type="date"></el-input>
    </el-form-item>
    <el-form-item label="姓名" :label-width="formLabelWidth">
      <el-input v-model="form.name" autocomplete="off"></el-input>
    </el-form-item>
     <el-form-item label="地址" :label-width="formLabelWidth">
      <el-input v-model="form.address" autocomplete="off"></el-input>
    </el-form-item>
  </el-form>
  
  
  <div slot="footer" class="dialog-footer" >
    <el-button @click="dialogFormVisible = false">取 消</el-button>
    <el-button type="primary" @click="dir()">确 定</el-button>
  </div>
  
</el-dialog>
      </template>
      </el-table-column>
  </el-table>

 </div>
</template>

<script>

  export default {

    data() {
      return {
       
       editIndex:"",
        dialogTableVisible: false,
        dialogFormVisible: false,
        abj:{
           date:'',
          name:'',
          address:''
      },
      erity:{
         date:'',
          name:'',
          address:''
      },
       form: {
         date:'',
          name:'',
          address:'',
        
        },
        formLabelWidth: '120px',
        tableData: [{
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄',
          
        }],
       
      }
    },

    methods: {
   
      setCurrent(row) {
        this.$refs.singleTable.setCurrentRow(row);
      
      },
      handleCurrentChange(val) {
        this.currentRow = val;
        
      },
      add(){
      //  var _id=Math.max(...this.tableData.map(function(item){return item.id}))+1;
       
this.tableData.push({
  date:this.abj.date,
  name:this.abj.name,
  address:this.abj.address,
// id:_id
}),
 this.abj={}
  
  

      },
      del(index){
  
       this.tableData.splice(index,1)
       
          // console.log(row.$refs)
      },
      edit(index, row){
           this.dialogFormVisible = true
        this.form={
          date:row.date,
          name:row.name,
          address:row.address,
          
          }
      //     this.form = Object.assign({}, row); //这句是关键!!!
      //  var _index = index;
      //   console.log(index);
      //   console.log(_index);
      //     console.log(this.tableData[index].name)
    //  this.dialogFormVisible = true
    
                this.editIndex = index
      },
    dir(){
      // this.dialogFormVisible = false;
      //  console.log(this.tableData[wor])
      //   this.tableData=[{
      //     date:this.form.date,
      // name:this.form.name,
      //  address:this.form.address
      //   }]
      //  console.log(this.tableData[wor])
        // this.FormVisible = false;
       
      
         this.tableData.splice(this.editIndex,1,this.form)
         console.log(this.tableData[this.editIndex])
         this.dialogFormVisible = false;
    }

    }
    
  }

</script>
<style lang="less" scoped>
.app{
  display: flex;
.apper1{
  width: 170px;
  padding: 0 10px;
}
.apper2{
  width: 170px;
  padding: 0 10px;
}
.apper3{
  width: 170px;
  padding: 0 10px;
}
}

</style>

保存,并在项目终端中输入命令:yarn run serve运行

最后成功以及操作如下

简单的vue+element-ui纯前端实现基本增删改查功能

 增加功能:

简单的vue+element-ui纯前端实现基本增删改查功能

简单的vue+element-ui纯前端实现基本增删改查功能 

 编辑功能:

简单的vue+element-ui纯前端实现基本增删改查功能

简单的vue+element-ui纯前端实现基本增删改查功能 

简单的vue+element-ui纯前端实现基本增删改查功能 

删除功能:

简单的vue+element-ui纯前端实现基本增删改查功能 

 文章来源地址https://www.toymoban.com/news/detail-456650.html

到了这里,关于简单的vue+element-ui纯前端实现基本增删改查功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用element-ui中的up-load组件实现简单的图片上传到本地然后回显(从前端到后端)

    一:前端样式以及效果:  前端样式代码如下: 二:后端Controller层  这里的处理逻辑是将前端传递进来的图片交给FileUtil处理,接下来看FileUtil的代码: 首先获取传递进来图片的文件名后缀 然后用UUID将其拼接得到一个新的名字 将图片存入到本地的文件夹下面 接下来返回路

    2024年02月03日
    浏览(33)
  • Vue+Element-UI 实现前端分页功能,利用el-table和el-pagination组件实现表格前端分页

    Vue+Element-UI 实现前端分页功能,利用el-table和el-pagination组件实现表格前端分页:         当table的数据量比较大的时候,一个屏幕展示不出全部的数据,这个时候就需要分页显示。而多数情况下都是做的后端分页,就是将分页参数和查询条件一并传到后端,后端将当前页要

    2024年01月20日
    浏览(40)
  • Springboot04--vue前端部分+element-ui

    注意点:  这边v-model和value的区别:v-model是双向绑定的,value是单向绑定 li的key的问题  vue的组件化开发:  安装完之后可以在cmd里面使用以下指令  安装好之后,找到你放代码的目录,cmd,然后npm install -g @vue/cli  新手选第三个,然后取消掉下面这个  运行项目的代码:  

    2024年02月13日
    浏览(29)
  • Vue, Element-UI 滚动条: el-scrollbar 基本使用

    参与修改前端项目(Vue, Element-UI),添加用户体验性需求,只涉及页面UI,未涉及数据交互 为一个窗口添加滑动栏 使用el-scrollbar 框架 注意 1,默认xy都有滑动栏,添加以下代码可以隐藏x轴的滑动栏 2,style中 1). 必须去掉scoped,否则overflow-x: hidden失效 2.)外包一个div 来减少

    2024年02月15日
    浏览(31)
  • Vue element-ui form 表单 前端提交和后端的接收

    一、前端 1、新建弹窗dialog 2、在数据(data)里面绑定(return)数据 3、在method里新建方法 二、后端 1、在配置好mybatis-plus的前提下 2、在控制类中添加方法 3、@RequestBody注解的使用 @requestBody注解的使用 - 西风恶 - 博客园 (cnblogs.com)

    2024年02月15日
    浏览(44)
  • 菜鸟级:Vue Element-UI 前端 + Flask 后端 的登录页面验证码

    这里记录登录页面验证码的做法,采取的是前后端分离的做法,前端用Vue,后端用Flask 首先是GIF效果图: 后端返回的数据结构(base64字符串,response.data.img):   1、Vue前端页面基本采用Ruoyi Ui里面的登录页面代码,里面的一些方法进行重写; 首先是单个vue文件里网页内容

    2023年04月08日
    浏览(45)
  • vue前端直接使用element-ui的upload组件上传到阿里云OSS存储

    因为公司的服务器比较拉吧,所以老大决定将数据文件等上传到阿里云服务器,通过ali-oss方式,这样的话读取文件也比较快  (能看到这说明什么安装element-ui都会了,我就不详细介绍了,直接跳过)  在执行下面操作之前,你要确定你的阿里云能看到上边这个页面   这里主

    2024年02月10日
    浏览(43)
  • element-ui框架复选框全选功能简单实现

    效果图:   html: data绑定的数据   checkAll: false,   isALL: false, // 全选框是否在勾选状态   tableData: [], //全部数据   bushForm: [], //选中的数据 methods方法里写: //全选的思路--判断选中的数组的长度和原数组对比,一样的话就判断全部选中 全部代码:

    2024年02月11日
    浏览(32)
  • (vue)element-ui 表格实现勾选单选

    效果: 重选后: 解决参考:https://blog.csdn.net/m0_58373910/article/details/125912828

    2024年02月12日
    浏览(33)
  • 基于vue+element-ui实现上传进度条

    目录 基于el-upload组件实现进度条的编写 后台进度前台进度条显示 基于el-upload组件实现进度条的编写 ①编写文件上传时的钩子函数 ②监听进度百分比 后台进度前台进度条显示 参考文章: 后台进度前台显示进度条_weixin_30646505的博客-CSDN博客 后端思路: ①创建一个类,封装进

    2023年04月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包