Javascript 搜索v-data-table以在<;td>';s也是数据数组

Javascript 搜索v-data-table以在<;td>';s也是数据数组,javascript,vue.js,vuetify.js,Javascript,Vue.js,Vuetify.js,我想使用v-text-field允许用户在为v-data-table的不同行键入结果时过滤结果。不过v-data-table的也是数组,这使得v-data-table的内置搜索功能无法工作。我正在尝试创建一个客户筛选器或某种类型的项键,以帮助正常的搜索筛选器对中的嵌套数据正常工作。使用“vuetify”:“^1.5.16”、和“vue”:“^2.6.10” {{pos.systemCode.code | nullCheck} {{numberOfPlace.numberOfPlace | n

我想使用
v-text-field
允许用户在为
v-data-table
的不同行键入结果时过滤结果。不过
v-data-table
也是数组,这使得
v-data-table
的内置
搜索功能无法工作。我正在尝试创建一个客户筛选器或某种类型的项键,以帮助正常的搜索筛选器对
中的嵌套数据正常工作。使用
“vuetify”:“^1.5.16”、
“vue”:“^2.6.10”


{{pos.systemCode.code | nullCheck}
{{numberOfPlace.numberOfPlace | nullCheck}
{{firstName.customerName.firstName | nullCheck}
{{lastName.customerName.lastName | nullCheck}
{{dob.dob | nullCheck}
{{getCustContacts(customerContactsPhone.customerContactsPhone,“电话”)| nullCheck}
{{getCustContacts(customerContactsMail.customerContactsMail,'email')| nullCheck}

所以您只是想根据行中的任何
与您的筛选查询匹配的时间来查找表行(
)?是的,基本上是这样,但我需要能够搜索
中的多个数据点,因为可以有多个客户使用相同的id,但具有不同的其他信息,我需要能够在
中检查组内的每个客户。看起来您需要使用JS的Array.prototype.filter函数为此编写一个更复杂的过滤函数。这就是你需要帮助的具体内容吗?第二:你可以把它写成一个计算函数,这样你的列表在每次按键时都会立即更新(然后你的v-for会循环计算版本而不是原始数据),但是由于这个例子的复杂性和长度,我不知道这是否会非常有效。(我个人只需要添加一个按钮,或者对最大更新间隔设置一个上限,或者别的什么)而且,这些数据看起来好像来自API响应?如果这是正确的,如果API提供了内置的过滤功能(在请求时),您可以考虑完全回避这里的复杂性。它不会是实时的,但会起作用。你能解释一下为什么这是你问题的答案吗?虽然发布解决问题的代码很好,但为未来用户提供解释是很有帮助的。
 handleFilterCustomerTable(searchInput) {
    this.filteredCustomerTable = this.originalCustomerTable.filter(cust => {
        let rowText = '';
        cust.forEach(c => {
            rowText += this.createSearchText(
              c.pos,
              c.centerNumber,
              this.formatSSN(c.ssn),
              c.firstName,
              c.lastName,
              c.dob,
              c.phone,
              c.email,
              c.custId
            );
          });
          return rowText.toLocaleLowerCase().indexOf(searchInput.toLocaleLowerCase()) >= 0;
        });
     },
      createSearchText(...inputs) {
         return inputs.join('\0'); // '\0' is the literal null character
     },