vue搜索框,搜索表格数据并展示

vue搜索框搜索表格数据并展示

我们先看看效果图
为搜索前的数据

搜索后的效果
我这个是最近有个比赛要用到的,我在这里记录一下,不过这个我实现的是边搜索边实现的,也就是这个原因这个搜索有个缺陷就是搜索消耗性能比较的大,数据库的压力很大,由于时间原因,目前先这样,有时间会优化的(优化思路是要节流,就是要有时间差)。废话不多说上代码。

  • 首先我们就是<el-input v-model="findName" class="search" prefix-icon="el-icon-search" placeholder="请输入姓名" /> -
    这里是input输入框动态绑定数据findname
data() {
return {
   findname: ''
}
}

这个是一个钩子函数这个是在页面加载完成之后对页面的dom节点进行操作(它与created有点区别感兴趣的童鞋可以去vue光网进行了解vue

 mounted() {
    this.getEmployeeList();
  },

然后在这里我们进行后端接口的对接(函数写在methods里面)

getEmployeeList() {
      request({
        url: "这里是后端接口地址",
        method: "接口请求类型",
        data: {
           这里是参数
        }
      })
        .then(res => {
           console.log("这里是打印接口请求成功的数据",res)
        })
        .catch(err => {
          console.log("err===>", err);
          this.loading = false;
        });

这里有个watch监控数据变化然后调用数据后端接口进行数据展示

 watch: {
    findName() {
      this.getEmployeeList();
    },

刚开始学着写博客,有更好的建议望各位大哥多多指教

  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
可以使用element-ui的el-table组件和el-input组件来实现表格搜索框。具体实现步骤如下: 1. 在el-table添加一个slot="header"的template,用于放置搜索框。 2. 在template添加一个el-input组件,用于输入搜索关键字。 3. 在el-table的data属性添加一个filterText属性,用于存储搜索关键字。 4. 在el-table的computed属性添加一个filteredData属性,用于根据搜索关键字过滤数据。 5. 在el-input的v-model属性绑定filterText,实现搜索框数据的双向绑定。 示例代码如下: ``` <template> <div> <el-table :data="tableData" style="width: 100%"> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="age" label="年龄"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> <template slot="header"> <el-input v-model="filterText" placeholder="请输入搜索关键字"></el-input> </template> </el-table> </div> </template> <script> export default { data() { return { tableData: [ { name: '张三', age: 18, address: '北京市' }, { name: '李四', age: 20, address: '上海市' }, { name: '王五', age: 22, address: '广州市' }, { name: '赵六', age: 24, address: '深圳市' } ], filterText: '' } }, computed: { filteredData() { return this.tableData.filter(item => { return item.name.toLowerCase().includes(this.filterText.toLowerCase()) || item.address.toLowerCase().includes(this.filterText.toLowerCase()) }) } } } </script> <style> </style> ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值