Перекрестная фильтрация с использованием текстовых полей

Я искал все вокруг, но не могу найти хороший пример использования перекрестной фильтрации с текстовым полем.

Я пытаюсь добавить фильтрацию текстового поля в таблицу данных с помощью перекрестного фильтра.

В настоящее время следует этой кодовой базе http://bl.ocks.org/d3noob/6077996

и чтение этой вики не очень помогло

https://github.com/square/crossfilter/wiki/API-Reference

Я знаю, что был задан вопрос, но решение слишком короткое, чтобы я мог его воспроизвести.

Фильтр перекрестного фильтра на основе текстового поля

dc.js 3.* имеет встроенный textFilterWidget, который может помочь. Это также не так сложно реализовать, как предлагает @matthias.rocks.

Gordon 19.02.2019 19:46
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
40
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я не уверен, где вы находитесь с вашим проектом, поэтому я могу дать только общие советы по вещам, которые вы можете исследовать дальше.

  • Прежде чем вы сможете фильтровать измерение с помощью crossfilter.js, вам необходимо зарегистрировать это измерение. В примере, который вы нашли, это то, что делается при инициализации переменных var magValue, var timeDimension, var depthValue и var volumeByDay.
  • Если вы еще этого не сделали, вам нужно слушать, когда символ вставляется в ваше текстовое поле. Это можно сделать с помощью прослушивателя событий, который прослушивает событие ключ. Когда прослушиватель регистрирует событие keyup, вы можете активировать функцию фильтра в соответствующем измерении.
  • При использовании функции myDimension.filter(value) в crossfilter.js она фильтрует точное значение, диапазон или функцию в зависимости от того, передается ли ей простая переменная, массив или функция. В примере, который вы обнаружили, кажется, что это обрабатывается dc.js, но в переполнении стека и в API, на который вы ссылаетесь, это обрабатывается вручную, взаимодействуя с предварительно созданным измерением. Если вам нужно точное совпадение, вы можете напрямую передать содержимое из текстового поля. Если вам нужны более нечеткие критерии, вы можете использовать что-то вроде расстояние Левенштейна (например, через этот пакет нпм), передав функцию при вызове myDimension.filter(value).

Дайте мне знать, если это поможет вам (или нет). Если бы вы могли поделиться кодом, который у вас есть в настоящее время, я мог бы решить вашу проблему более конкретно.

Другие вопросы по теме