Фильтр не работает с одним входным символом в b-таблице - PullRequest
0 голосов
/ 03 октября 2019

У меня есть b-таблица с фильтром, но фильтр не работает, когда я ищу по одному символу, в моем случае, по идентификатору, но, если я введу 2 или более чисел, эта работа. я проверяю пример на bootstrap-vue и эту работу ищем по одному номеру, но не могу найти, почему в моем коде это не работает так, как я ожидал.

<div id="app">
  <span label-for="search">search: </span>
  <input id="search" type="text" v-model="filter" placeholder="type by search">
  {{ this.filter }}
  <b-table
     class="mt-2"
     :filter="filter"
    :fields="fields"
    :items="items">    
  </b-table>
</div>
window.onload = () => {
  new Vue({
    el: '#app',
    data() {
      return {
        filter: null,
        fields: [
          {
            key: 'isoqf_id',
            label: '#'
          },
          {
            key: 'name',
            label: 'Name'
          },
          {
            key: 'references',
            label: 'references id'
          }
        ],
        items: [
          {
            "isoqf_id": 1,
            "cerqual": {
                "explanation": "Suspendisse eget ligula blandit, dignissim neque at, luctus nunc. Nulla eros odio, fringilla et diam ut, maximus euismod nibh.",
                "option": "0"
            },
            "name": "finding #1",
            "references": ["4a5f2a", "4a5f2f"],
            "organization": "7b9c88ec182ca383",
            "project_id": "5d84d6bc2b711a1a2eba93ea",
            "id": "5d84ee422b711a1a2eba9507",
            "cerqual_option": "0"
        }, {
            "isoqf_id": 2,
            "cerqual": {
                "explanation": "",
                "option": "0"
            },
            "name": "finding #2",
            "references": ["4a5f3b", "4a5f37"],
            "organization": "7b9c88ec182ca383",
            "project_id": "5d84d6bc2b711a1a2eba93ea",
            "id": "5d850b3c2b711a1a2eba956f",
            "cerqual_option": "0"
        }, {
            "isoqf_id": 3,
            "cerqual": {
                "explanation": "",
                "option": "3"
            },
            "name": "finding #3",
            "references": ["4a5f3b", "4a5f28"],
            "organization": "7b9c88ec182ca383",
            "project_id": "5d84d6bc2b711a1a2eba93ea",
            "id": "5d8517a72b711a1a2eba9679",
            "cerqual_option": "3"
        }]
      }
    },
    methods: {

    }
  })
}

URL для теста https://codepen.io/damian-garrido/pen/aboemNG

Я ожидаю, что могу искать по полю isoqf_id, что я делаю неправильно?

1 Ответ

0 голосов
/ 04 октября 2019

Алгоритм поиска по умолчанию ищет ВСЕ поля в таблице элементов (не только видимые данные). Это соответствует поиску всего, что содержит строку фильтра. Поэтому, если вы введете цифру 1, она отобразит все записи, имеющие символ 1 в любых полях.

Чтобы ограничиться только определенными полями, установите для пропеллера filter-included-fields массив, содержащийимена свойств верхнего уровня (имена полей), которыми вы хотите ограничить поиск. Если вы хотите ограничить до isoqf_id, тогда установите :filter-included-fields=['isoqf_id']". Чтобы ограничить фильтрацию до isoqf_id и references, установите `: filter-includes-fields = ['isoqf_id', 'reference']"

См. https://bootstrap -vue.js.org /документы / компоненты / стол # встроенный в фильтрации-опций

...