el-form+el-table实现表格搜索功能

该代码示例展示了在Vue.js中如何使用ElementUI组件库创建一个表单,用户可以输入日期、姓名和地址进行搜索。表单提交后,通过JavaScript的filter方法过滤表格数据,匹配输入的内容。同时,提供重置按钮以恢复初始数据。
摘要由CSDN通过智能技术生成

实现效果

在这里插入图片描述

代码

<template>
  <div>
    <el-form v-model="queryParams" ref="queryForm" size="small" :inline="true" @submit.native.prevent>
      <el-form-item label="日期" prop="date">
        <el-input
          v-model.trim = "queryParams.date"
          placeholder="请输入日期"
          clearable
          style="width:240px"
          @keyup.enter.native="handleQuery"
        ></el-input>
      </el-form-item>
      <el-form-item label="姓名" prop="name">
        <el-input
          v-model.trim = "queryParams.name"
          placeholder="请输入姓名"
          clearable
          style="width:240px"
          @keyup.enter.native="handleQuery"
        ></el-input>
      </el-form-item>
      <el-form-item label="地址" prop="address">
        <el-input
          v-model.trim = "queryParams.address"
          placeholder="请输入地址"
          clearable
          style="width:240px"
          @keyup.enter.native="handleQuery"
        ></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
      </el-form-item>
    </el-form>
    <el-table
      :data="tableData"
      style="width: 100%">
      <el-table-column
        prop="date"
        label="日期"
        width="180">
      </el-table-column>
      <el-table-column
        prop="name"
        label="姓名"
        width="180">
      </el-table-column>
      <el-table-column
        prop="address"
        label="地址">
      </el-table-column>
    </el-table>
  </div>
</template>

data

tableData: [{
        date: '2016-05-02',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1518 弄'
      }, {
        date: '2016-05-04',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1517 弄'
      }, {
        date: '2016-05-01',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1519 弄'
      }, {
        date: '2016-05-03',
        name: '王小虎',
        address: '上海市普陀区金沙江路 1516 弄'
      }],
      //form表单查询的数据
      queryParams: {
        date: '',
        name: '',
        address: ''
      },
     //用一个数组保留原始数据 
      listData: []

js

//搜索按钮
handleQuery () {
      this.listData = this.tableData
      //过滤出需要的数据
      this.tableData = [...this.tableData].filter((i) => {
        return (
          i.date.toLowerCase().includes(this.queryParams.date.toLowerCase()) &&
          i.name.toLowerCase().includes(this.queryParams.name.toLowerCase()) &&
          i.address.toLowerCase().includes(this.queryParams.address.toLowerCase())
        )
      })
    },
//重置按钮
resetQuery () {
//清空搜索栏
      this.queryParams = {date: '',
        name: '',
        address: ''}
      this.tableData = this.listData
    }
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值