2017-02-17 3 views
1

Ich arbeite an einer Angular-Anwendung, die bootstrap typeahead in einem Textfeld verwendet. Wenn ich in das Textfeld klicke, werden alle Werte in einem Dropdown-Menü angezeigt. Ich habe mehr als 1000 zu durchsuchende Elemente und es gibt eine Verzögerung, wenn die Benutzer in das Textfeld klicken und wenn sie in der Lage sind zu tippen. Wie kann ich deaktivieren, dass die Werte nach dem Klicken auf die Textbox nicht mehr angezeigt werden? Hier ist mein HTML-CodeBootstrap typeahead zeigt Werte an

<input id="filterValue1" 
    class="form-control input-sm" type="text" 
    ng-model="modalCriteria.filterValue1" 
    uib-typeahead="option.value as (option.valueDescription) for option in valueSetOptions | filter:$viewValue | limitTo:1500" 
    placeholder="Select a value" 
    typeahead-min-length="0" 
    typeahead-editable="true" 
> 

Antwort

1

Wenn Sie warten, bis sie tatsächlich beginnen einen Textwert zu geben, und zwar nicht nur öffnen, wenn sie darauf klicken, können Sie die typeahead-min-length ändern.

Standardmäßig ist es '1', was bedeutet, dass es nur nach Übereinstimmungen sucht, wenn '1' Zeichen in den Eingang eingegeben wurde. In diesem Fall wird das vollständige Entfernen für Sie funktionieren.

<input id="filterValue1" 
    class="form-control input-sm" type="text" 
    ng-model="modalCriteria.filterValue1" 
    uib-typeahead="option.value as (option.valueDescription) for option in valueSetOptions | filter:$viewValue | limitTo:1500" 
    placeholder="Select a value" 
    typeahead-editable="true"> 

Auch Einstellung es typeahead-min-length="2" wird es noch beschränken, da es nur auf zwei Zeichen beginnt passende, dramatisch eine große Datenmenge herausgefiltert werden.

+0

Vielen Dank! Das hat es gelöst – ellier7

Verwandte Themen