EXTJS: Cómo borrar el parámetro de "consulta" del almacén de datos después de una consulta de autocompletar en el cuadro combinado

1

Problemas: tengo un cuadro combinado con la función de autocompletar habilitada (minchars = 2), también configuro forceSelection = true. Después de hacer una búsqueda en el cuadro combinado, por ejemplo, ingrese "abc" en el cuadro combinado, entonces la lista solo mostrará los registros que contengan la cadena "abc". La cadena de consulta que el almacén de datos envía al backend contiene un parámetro: "consulta: abc". Cada vez que llamo a "combo.getStore.reload ()", los parámetros "query: abc" se incluirán en la solicitud. Por lo tanto, cuando llamo a combo.setValue ("def"), no tendrá ningún efecto porque el almacén de datos del combo ahora solo contiene el registro que tiene "abc" en él. Intenté borrar los parámetros de "consulta" del almacén de datos llamando a: delete combo.lastQuery o eliminar parámetros adicionales del proxy, eliminar filtros de la tienda, ninguno de ellos funcionó.

El código de prueba está aquí: reproduce los pasos:

  1. configurar el almacén de datos para consultar el servidor remoto, el servidor volverá
    • a B C
    • abc1
    • def
    • tomar nota
    • jkl
    • ...
  2. establezca el valor combinado en "def" utilizando el botón "establecer valor combinado" y el campo de texto "test_text", el valor combinado se establecerá correctamente
  3. haga una búsqueda en el cuadro combinado, ingrese "abc", entonces la consulta solo devolverá 2 registros:
    • a B C
    • abc1
  4. seleccione cualquiera de ellos
  5. repita el paso 2 para establecer el valor combinado en "def", el valor no se establecerá porque el almacén de datos no contiene "def".

Pregunta: ¿cómo eliminar el parámetro "consulta" para restaurar el almacén de datos para que consulte todos los valores?

        {
            fieldLabel: 'Test Text',
            name: 'test_text',
            xtype: 'textfield',
            allowBlank: true
        },
        {
            xtype: 'button',
            text: 'set combo value',
            handler: function () {
                var text_field = this.up('form').down('textfield[name=test_text]');
                var combo_test = this.up('form').down('combo[name=test_combo]');
                combo_test.setValue(text_field.getValue());
            }
        },
        {
            xtype: 'button',
            text: 'reload store',
            handler: function () {
                var combo_test = this.up('form').down('combo[name=test_combo]');
                delete combo_test.lastQuery;
                combo_test.getStore().reload();
            }
        },
        {
            fieldLabel: 'Test Combo',
            name: "test_combo",
            xtype: 'combo',
            forceSelection: true,
            minChars: 2,
            allowBlank: false,
            store: Ext.create('Ext.data.Store', {
                proxy: {
                    type: 'ajax',
                    url: pcia.Globals.backendURL('/counterparty/broker/list_physical'),
                    reader: {
                        type: 'json',
                        rootProperty: 'records',
                        totalProperty: 'count'
                    }
                }
            }),
            displayField: 'name',
            valueField: 'name',
        }
1

Tratar

combo_test.getStore().reload({params:{}});
1