javascript extjs extjs4.1 extjs-stores

javascript - La forma más rápida de borrar el filtro de la tienda ExtJs cuando se aplica el filtro mediante filterBy()



extjs4.1 extjs-stores (3)

Estoy usando ExtJS 4.1. Estoy usando el clearFilter() de la tienda para eliminar el filtro de la tienda. Estoy aplicando filtro a la tienda utilizando el método filterBy . Estoy filtrando todos los registros donde el nombre no es Ronaldo.

Después de borrar el filtro, cargo una vista que contiene una grilla (adjunta a la tienda). Pero cuando cargo la grilla, todavía puedo ver que el filtro no se borra. La tienda es una tienda local. No he aplicado ninguna agrupación en la tienda. Store solo usa un modelo.

myStore.filterBy(function (record) { if (record.get(''Name'') != ''Ronaldo'') { return true; } });

Si bien todo esto funciona bien, pero cuando clearFilter() el filtro usando clearFilter() , me toma algo de tiempo. ¿Hay alguna manera más rápida / mejor / correcta de borrar el filtro en una tienda cuando se aplica el filtro utilizando filterBy() ?


Solo llame a:

myStore.reload();

cada vez que quiera eliminar un conjunto de filtros usando filterBy.


aquí está mi mejor respuesta, para borrar la función filterBy:

myStore.filterBy(function (record) { return true; });

lo acabo de hacer, espero que sea de ayuda


Cuando utiliza clearFilter() no importa si usó filterBy() o filter() o si los filtros se configuraron en la tienda.

Esto es lo que sucede cuando borras los filtros:

  1. la colección de filtros en la tienda se borra
  2. los datos filtrados se reemplazan con los datos originales (sin filtrar) que se almacenaron en una instantánea
  3. los eventos "datachanged" y "refresh" se activan en la tienda

Tenga en cuenta que puede suprimir los eventos que se clearFilter(true) utilizando clearFilter(true) que puede ser útil si desea filtrar la tienda nuevamente después de borrar los filtros existentes.

Si borrar los filtros de la tienda funciona lentamente, entonces probablemente esté relacionado con el proceso de disposición (en su cuadrícula o con lo que esté usando la tienda) que se desencadena en el paso 3.

También consulte los documentos o el código fuente .