javascript - 对 vuejs 表中的特定列应用搜索过滤器

标签 javascript vue.js vuejs2

这几天我会学习vuejs。我必须为特定列应用搜索过滤器。在 vuejs 文档中给出的网格组件示例中,它会搜索所有列。

教程链接 https://v2.vuejs.org/v2/examples/grid-component.html

gridData: [
      { name: 'Chuck Norris', power: Infinity },
      { name: 'Bruce Lee', power: 9000 },
      { name: 'Jackie Chan', power: 7000 },
      { name: 'Jet Li', power: 8000 }
    ]

我必须仅对 name 列应用搜索。有人可以帮我解决它吗?这是工作fiddle

最佳答案

只需以这种方式更改您的计算属性filteredData:

  computed: {
    filteredData: function () {
      var sortKey = this.sortKey
      var filterKey = this.filterKey && this.filterKey.toLowerCase()
      var order = this.sortOrders[sortKey] || 1
      var data = this.data
      // FILTER ONLY BY NAME
      if (filterKey) {
        data = data.filter( function (row) {
          return row.name.toLowerCase().includes(filterKey)
        })
      }
      // ==============
      if (sortKey) {
        data = data.slice().sort(function (a, b) {
          a = a[sortKey]
          b = b[sortKey]
          return (a === b ? 0 : a > b ? 1 : -1) * order
        })
      }
      return data
    }
  },

这是工作jsfiddle

关于javascript - 对 vuejs 表中的特定列应用搜索过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50963233/

相关文章:

javascript - 美化json字符串vuejs2 webpack

javascript - vuejs 和 vue N​​ative 有什么区别?

javascript - 如何使用 html 修复表上的 JQuery DataTables mData 错误

javascript - Vue.js 无法识别数据键

javascript - 在不同模块的突变中访问 rootState

javascript - FullCalendar 在每个日期旁边添加 "undefined"

javascript - Vue.js 单元测试最佳实践

javascript - 订阅后将值保存到数组或变量中

javascript - 需要建议...Javascript OOP/命名空间

javascript - 使用 Rails 4 的动态选择框