Раскрывающийся список с оператором LIKE response-bootstrap-table2 - PullRequest
1 голос
/ 19 марта 2019

У меня есть таблица, которая реализует response-bootstrap-table2 .Они предоставляют собственный способ создания внешнего фильтра (из заголовка столбца).В моей таблице первый столбец представляет собой комбинацию данных, в которых я передаю строку с @ в качестве разделителя и форматирую их с помощью функции форматирования следующим образом:

Это определение моего столбца:

  let projectFilter;
   columns = [{
        dataField: 'project',
        text: 'Project',
        filter: textFilter({
          options: fpsoOptions,
          getFilter(filter){
            projectFilter = filter;
          },
          style: { display: 'none' }
        }),
        sort: true,
        formatter: this.projectFormatter,
        headerStyle: (col, idx) => {
          return smHeaderStyle;
        },
      }, [..]

И это функция projectFormatter:

projectFormatter = (cell, row) => {
    const values = cell.split('|');
    const fpsos = values[0].split('@');
    return (
      <div>
        {fpsos.map((pu, idx) => {
          const identity = pu.split(';')[0];
          const id = pu.split(';')[1];
          const separator = idx !== fpsos.length - 1 ? ", " : '';
          return (
            <Link to={`/view/${id}/fpso`}>{identity}{separator}</Link>
          )
        })}
        <br/>
        <span><b>{ values[1] }</b></span><br/>
      </div>
    );
  }

Фильтрация отлично работает, когда это фильтр ввода текста.Теперь я пытаюсь создать пользовательский фильтр выбора с поведением оператора LIKE, для которого выбранное значение в раскрывающемся списке (список fpso) будет отфильтровано как подстрока этого столбца.

Это моя onChange функция, которая запускает табличный фильтр, как показано в документации здесь .Но я не уверен, как получить поведение like.

 const onChangeFilter = (e) => {
        projectFilter(e.target.value)
    }

Я ценю любую подсказку / помощь.Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...