vue实例:增删改查实战--纯手写

效果图:

<template>
  <div class="content">
    <div class="title">
      <h1>2021年秋季学期学生考试成绩管理系统</h1>
    </div>
    <div class="hand">
      <div class="dataInfo">
        <div class="dataList">
          <label>姓名:</label>
          <input
            type="text"
            placeholder="请输入学生姓名"
            v-model="dataFrom.name"
          />
        </div>
        <div class="dataList">
          <label>班级:</label>
          <input
            type="text"
            placeholder="请输入学生班级"
            v-model="dataFrom.class"
          />
        </div>
        <div class="dataList">
          <label>语文:</label>
          <input
            type="text"
            placeholder="请输入学生语文得分"
            v-model="dataFrom.language"
          />
        </div>
        <div class="dataList">
          <label>数学:</label>
          <input
            type="text"
            placeholder="请输入学生数学得分"
            v-model="dataFrom.math"
          />
        </div>
        <div class="dataList">
          <label>英语:</label>
          <input
            type="text"
            placeholder="请输入学生英语得分"
            v-model="dataFrom.english"
          />
        </div>
        <div class="dataList">
          <label>理综/文综:</label>
          <input
            type="text"
            placeholder="请输入理综/文综得分"
            v-model="dataFrom.synthesize"
          />
        </div>
        <div class="dataList" @click="addClick">
          <p>开始录入</p>
        </div>
        <div class="dataList">
          <span>搜索查询</span>
          <input
            type="text"
            placeholder="请输入学生姓名关键字"
            v-model="searchInput"
          />
        </div>
      </div>
    </div>
    <div class="table">
      <table cellpadding="0" cellspacing="0">
        <tr>
          <th>编号</th>
          <th>姓名</th>
          <th>班级</th>
          <th>语文</th>
          <th>数学</th>
          <th>英语</th>
          <th>理综/文综</th>
          <th>总分</th>
          <th>操作</th>
        </tr>
        <tr v-for="(item, index) in searchData" :key="index">
          <td>{
  { index + 1 }}</td>
          <td>{
  { item.name }}</td
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Vue和Element UI的增删改查操作,一般可以按照以下步骤进行: 1. 引入Element UI组件和相关样式 在Vue组件,需要先引入Element UI组件和相关的样式文件,比如: ``` import { Table, Button, Dialog, Form, FormItem, Input } from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' ``` 2. 创建数据列表 使用Table组件创建数据列表,可以指定表头和数据源,例如: ``` <el-table :data="tableData"> <el-table-column prop="name" label="名称"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <el-table-column label="操作"> <template slot-scope="scope"> <el-button type="primary" @click="handleEdit(scope.row)">编辑</el-button> <el-button type="danger" @click="handleDelete(scope.row)">删除</el-button> </template> </el-table-column> </el-table> ``` 其,tableData是数据源,handleEdit和handleDelete是编辑和删除操作的方法。 3. 创建弹窗 使用Dialog和Form组件创建弹窗,可以设置表单项和按钮,例如: ``` <el-dialog :visible.sync="dialogVisible"> <el-form :model="formData"> <el-form-item label="名称"> <el-input v-model="formData.name"></el-input> </el-form-item> <el-form-item label="年龄"> <el-input v-model="formData.age"></el-input> </el-form-item> </el-form> <div slot="footer"> <el-button @click="dialogVisible = false">取消</el-button> <el-button type="primary" @click="handleSave">保存</el-button> </div> </el-dialog> ``` 其,dialogVisible是弹窗的显示状态,formData是表单数据,handleSave是保存操作的方法。 4. 实现增删改查操作 在Vue组件,需要定义相关的方法来实现增删改查操作,例如: ``` export default { data() { return { tableData: [ { name: '张三', age: 18 }, { name: '李四', age: 20 }, { name: '王五', age: 22 } ], dialogVisible: false, formData: {} } }, methods: { handleAdd() { this.formData = {} this.dialogVisible = true }, handleEdit(row) { this.formData = { ...row } this.dialogVisible = true }, handleSave() { // 保存操作 if (this.formData.id) { // 编辑操作 const index = this.tableData.findIndex(item => item.id === this.formData.id) this.tableData.splice(index, 1, this.formData) } else { // 新增操作 this.tableData.push({ ...this.formData, id: new Date().getTime() }) } this.dialogVisible = false }, handleDelete(row) { // 删除操作 const index = this.tableData.findIndex(item => item.id === row.id) this.tableData.splice(index, 1) } } } ``` 其,handleAdd是新增操作的方法,handleSave用来保存新增或编辑的数据,handleDelete用来删除数据。在handleSave方法,通过判断formData是否有id属性来确定是新增还是编辑操作。如果有id属性,则表示是编辑操作,需要找到对应的数据进行修改;如果没有id属性,则表示是新增操作,需要将数据添加到数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值