vue2 纯前端查询表格数据

该代码段展示了如何在Vue.js应用中使用el-input组件监听用户输入,并通过v-model绑定数据。当用户输入内容时,onInput事件触发,遍历el-table的数据源tableData,根据输入关键字过滤匹配的姓名,将匹配到的结果存储在searchData1中,并更新el-table显示过滤后的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 <div>
    <el-input
      @input="onInput"
      v-model="input"
      placeholder="请输入内容"
    ></el-input>
    <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>
export default {
  data() {
    return {
      tableDatatemp: [],
      input: "",
      searchData1: [],
      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 弄",
        },
      ],
    };
  },
  mounted() {
    this.tableDataTemp = this.tableData;
  },
  methods: {
    onInput(val) {
      this.flag1 = true;
      const key = val; // 查询表单中的输入
      const vm = this;
      this.searchData1 = []; //清空查询数组-防止多次查询记录一直被push在最后
      console.log("查询前", this.tableDataTemp);
      this.tableDataTemp.forEach(function(item) {
        if (item.name.indexOf(key) > -1) {
          vm.searchData1.push(item);
        }
      });
      this.tableData = this.searchData1;
      console.log("查询后", this.tableData);
    },
  },
};

直接复制就完事了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值