css - Jeg trenger tilgang til input inne i InputGroup BlueprintJs React-komponenten
BluePrintJS React InputGroup-komponenten er flott og praktisk for moderne brukergrensesnitt. Men dessverre tillater ikke React-komponenten tilgang til <input>-elementet inni.
Jeg trenger å få tilgang til inndataelementet av to hovedårsaker :
hvis jeg har 50 InputGroups i skjemaet mitt, vil jeg ikke skrive 50 OnChange()-tilbakekallinger. Når brukeren er ferdig med alle inputene, vil jeg få alle InputGroup.value(), noe som ikke er mulig (det er mulig med vanlige input-elementer takket være HTMLInputElement.value, men InputGroup tillater ikke tilgang til intern input)
Når skjemaet vises, må jeg fokusere på det første feltet. InputGroup har ingen funksjon focus(), mens HTMLInputElement har en.
Kort sagt mangler det 2 funksjoner i InputGroup: GetValue() og Focus(), og jeg kan ikke se hvorfor de mangler. Enhver forslag vil bli svært verdsatt. Tusen takk.
Svar #1
Jeg fant måten å få inputen på! med :
inputRef={(input:HTMLInputElement) => {
this.logininput=input;
}}
(så det ikke første gang).
Nå som jeg har input-objektet, kan jeg sette fokus ved "didmount", og jeg kan hente verdien med logininput.value.
Takk
Svar #2
Litt annen variant, men dette fungerer også:
inputRef:(input:HTMLInputElement | null) => {
// your code here
return input;
}
}}
Bare vær klar over at koden kjører når du bare gjengir komponenten, avhengig av hvordan du bruker den, for meg skjer det når jeg klikker på barnekontrollen i en velger.
I mitt tilfelle ville jeg bare endre en input som fungerer for tekstsøk på en select.
