【问题标题】:Search a non visible field in Vuetify-js Datatable在 Vuetify-js 数据表中搜索不可见字段
【发布时间】:2020-11-06 11:32:45
【问题描述】:

我正在 Vuetify 中创建一个可扩展的数据表。

表标题中仅显示 5 列。当您展开每一行时,您会使用item.data-table-expand 槽获得详细信息,该槽显示数据数组中可用的更多列。

现在我希望能够在表格上应用搜索过滤器。

我的问题是search指令只在标题中声明的字段(5列)中搜索,我需要在其他字段中搜索。

我尝试在标题中添加一个可搜索字段,但无法隐藏它因此不会显示。

我还尝试使用 custom-filter 来使用我自己的函数,但它每个标题字段调用一次,而不是每行一次(我可以访问其余字段)。

关于如何做到这一点的任何建议? 谢谢。

【问题讨论】:

  • 你能发布你的代码吗?

标签: vue.js vuetify.js


【解决方案1】:

您可以使用custom-filter...

 <v-data-table
    :headers="headers"
    :items="desserts"
    :expanded.sync="expanded"
    show-expand
    single-expand
    item-key="name"
    :search="search"
    :custom-filter="customSearch">
  </v-data-table>

  methods: {
    customSearch (value, search, item) {
      return Object.values(item).some(v=>v&&v.toString().toLowerCase().includes(search))
    }
  },

https://codeply.com/p/jraMEhXaCk

【讨论】:

  • 你好 Zim。太感谢了!我完全误解了文档,我认为自定义过滤器只能访问标题字段,当它可以访问数组中的完整数据(“项目”)时。我看到每个可搜索字段都会调用一次该函数,因此我只使一个字段可搜索,并使用该调用来搜索隐藏字段。谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-12-02
  • 2021-03-15
  • 1970-01-01
  • 2021-11-14
  • 2021-09-10
  • 1970-01-01
  • 2016-08-03
  • 2014-11-09
相关资源
最近更新 更多