2016-04-14 9 views
0

Ich benutze Material-UI durch ein Projekt und ich erfahre einige kleine Probleme mit der AutoComplete-Komponente beim Versuch, eine größere Liste von Kontakten zu laden, einige Kontakte können den gleichen Namen haben (wegen Testdaten), aber unterschiedliche IDs.Material-u Autocomplete doppelte Schlüssel Warnung

  1. Warnung beim Übergeben eines Objekts als DataSource-Element. Ich erhalte eine doppelte Schlüssel Warnung: "Warnung: flattenChildren (...): Findet zwei Kinder mit dem gleichen Schlüssel"

    { 
     contact, 
     key: index, 
     text: FullName, 
     value: &ltMenuItem key={index} primaryText={item} /> 
    } 
  1. Wenn die Wiedergabe eingeben langsam ist, weil es manchmal zu vielen Kontakten passt. Idealerweise möchte ich maximal 5-10 Kontakte in der Autocomplete zeigen, aber das ist noch nicht möglich. (Das Merkmal scheint bereits in einem PR in Kauf genommen zu werden, oder?)

Danke,

Antwort

1

Um die doppelten Schlüssel Warnung loszuwerden, die text Eigenschaft eindeutig sein muss, weil das ist, was die erstellen ist ID reagieren

Das beste, was zu tun wäre, um das 'Text' Feld auf die index oder eine ID zu setzen. Nehmen wir an, die FullName s sind in einem Array gespeichert. Sie können dann den Index verwenden, um den entsprechenden Namen zu finden. Wenn sich FullNames in einem Objekt/Wörterbuch befinden, können Sie die FullName s stattdessen mit einer ID abrufen.

Wenn ein Benutzer auf einen Menüeintrag klickt und der Wert der AutoComplete-Komponente nicht dem Benutzer angezeigt werden soll, können Sie diese Eigenschaft mithilfe des Ereignisses onNewRequest dynamisch festlegen.

Verwandte Themen