2016-11-25 15 views
5

Stworzyłem fiddle, który demonstruje błąd. Problem polega na tym, że tagfield ignoruje właściwość minChars - po pierwszym skupieniu się na polu można wyświetlić żądanie do serwera, co nie powinno się zdarzyć. Zrobiłem to samo z comboboxem i wszystko działało dobrze. To jest mój kod:Błąd w tagliście ExtJS 6

Ext.create("Ext.form.field.Tag", { 
     renderTo: "test", 
     minChars: 999, //ignored, even though is documented 
     enableKeyEvents: true, 
     displayField: "text", 
     valueField: "id", 
     queryMode: "remote", 
     autocomplete: "off", 
     fieldLabel: "tagfield", 
     store: { 
      autoLoad:false, 
      fields:[{name:'id'},{name:'text'}], 
      proxy:{ 
       type:'ajax', 
       url:'getData.php' 

      } 

     } 
    }); 

    Ext.create("Ext.form.field.ComboBox", { 
     renderTo: "test2", 
     minChars: 999, 
     enableKeyEvents: true, 
     displayField: "text", 
     valueField: "id", 
     queryMode: "remote", 
     autocomplete: "off", 
     fieldLabel: "combo", 
     store: { 
      autoLoad:false, 
      fields:[{name:'id'},{name:'text'}], 
      proxy:{ 
       type:'ajax', 
       url:'getData.php' 

      } 

     } 
    }); 

Należy zwrócić uwagę na fakt, że minChars zarówno combobox i tagfield udokumentowanej podobnie ([1], [2]):

minChars: Numer

Minimalna liczba znaków, które użytkownik musi wpisać przed autouzupełnianiem, a aktywacja typu.

Jak mogę naprawić ten błąd?

+0

powinieneś zgłosić to na forum senchas –

+0

Wiem, oni również monitorują SO. Mam więc nadzieję, że zwrócą na to uwagę. – Jacobian

+1

To nie jest błąd: http://docs.sencha.com/extjs/6.2.1/classic/Ext.form.field.Tag.html#cfg-triggerOnClick –

Odpowiedz

1

Musisz ustawić opcję triggerAction: "all" lub triggerAction: "query" w zależności od tego, jak twoje pole powinno filtrować wyniki.