Indlæsningstilstande eksisterer for at besvare ét spørgsmål til brugeren: sker der noget? Uden et svar trykker folk igen, genindlæser siden eller går. Det rigtige svar afhænger af, hvor længe de venter.
Ved meget korte ventetider, under omkring en tiendedel af et sekund, bemærker de fleste mennesker ikke en forsinkelse, så en indikator tilføjer kun flimmer. En almindelig teknik er at vente kort, før du viser en spinner, så hurtige svar viser aldrig en.
For ventetider på et sekund eller et par sekunder, vis feedback, hvor resultatet vises. En skeletskærm, et gråt omrids af det kommende layout, fungerer godt til lister, kort og profiler, fordi det viser, hvad der kommer og reducerer layoutskift. En spinner fungerer til små områder, eller når resultatet ikke har nogen forudsigelig form.
For lange opgaver såsom uploads, eksporter eller AI-generering, vis reelle fremskridt, hvis du kan måle det, forklare, hvad der sker, og lade folk aflyse eller fortsætte med andet arbejde. En spinner, der drejer i et minut uden anden information, føles som en fiasko.
Den kontrol, der startede handlingen, har også brug for en tilstand. En send-knap, der skifter til en indlæsningstilstand og ikke kan trykkes to gange, forhindrer duplikerede ordrer og beskeder. Når indlæsningen slutter, skal du tydeligt flytte til succes eller fejl i stedet for lydløst at vende tilbage til standard.
Animation hjælper her, men hold den rolig og kort i en løkke, og respekter indstillingen for reduceret bevægelse. ExodeUI, som vi laver, lader dig designe en indlæser eller en knap med indlæsnings-, succes- og fejltilstande i én fil, som din kode skifter imellem.