сенча сразу применить набор фильтров

Я пытаюсь применить несколько фильтров одновременно. Потому что на фильтрах есть слушатель, который будет извлекать информацию из интернет-магазина, когда фильтры очищены. Так что мне нужно, чтобы они были заменены сразу.

Вызывается функция фильтра, логируются сообщения, но почему-то результат игнорируется. Таким образом, все элементы всегда отображаются независимо от того, является ли includeStatus истинным или ложным.

flipElements: function (includeStatus)
{
    this.setFilters(
    [
        new Ext.util.Filter(
        {
            property: 'userName',
            value: 'me'
        }),
        new Ext.util.Filter(
        {
            filterFn: function (record)
            {
                var result = includeStatus === (record.get('statusId') === 3);
                console.log(result);
                return result;
            }
        })
    ]);
}

Проблема не в том, что у модели нет этого свойства, потому что, когда я просто устанавливаю фильтр с помощью filterBy, он правильно показывает/скрывает элементы.

Изменить: даже когда в журнале указано значение false, элементы все равно отображаются.


person MrFox    schedule 24.11.2014    source источник


Ответы (1)


setFilters изменяет только свойство фильтров магазина. Чтобы инициировать действия фильтра, вызовите функцию filter. Обычно это используется для добавления фильтра в стиле «свойство, значение» к набору фильтров, но когда аргументы не указаны, он фильтрует хранилище.

person MrFox    schedule 24.11.2014