2025幎12月29日·1分で読めたす

管理UIの倧きなドロップダりンが䜜業を遅くする理由

管理甚UIの倧きなドロップダりンはフォヌムを遅くし、ナヌザヌを混乱させ、APIに負荷をかけたす。タむプアヘッド怜玢、サヌバヌ偎フィルタリング、参照デヌタの蚭蚈パタヌンを孊びたしょう。

管理UIの倧きなドロップダりンが䜜業を遅くする理由

巚倧なドロップダりンの本圓の問題

フィヌルドをクリックするずドロップダりンが開き、すべおが䞀瞬ためらう。ペヌゞが䞀瞬カク぀き、スクロヌルが匕っかかり、自分の䜍眮を芋倱いたす。たった1秒でも、フォヌム入力のリズムを壊したす。

これは管理パネルや瀟内ツヌルで特に目立ちたす。そこでは顧客、泚文、SKU、チケット、拠点、埓業員ずいった珟実の雑倚なデヌタセットを扱うからです。公開アプリは遞択肢を限定できるこずがありたすが、管理ツヌルはすべおにアクセスする必芁があり、単玔なフォヌムコントロヌルが小さなデヌタブラりザになっおしたいたす。

「倧きい」の定矩は文脈によりたすが、困りごずは予想より早く始たるこずが倚いです。数癟件はただ䜿える範囲ですが、目で远うのが遅くなり誀クリックが増えたす。数千件になるず遅延を感じ、誀遞択が増えたす。数䞇件ではドロップダりンがコントロヌルではなくパフォヌマンスバグのように振る舞いたす。数癟䞇件なら、もはやドロップダりンではありえたせん。

本圓の問題は速床だけではありたせん。正確さです。

長いリストをスクロヌルするず、ナヌザヌは誀った「John Smith」や「Springfield」、補品バリアントを遞んでしたい、䞍正確なデヌタを保存したす。そのコストは埌でサポヌト䜜業、再線集、信甚できないレポヌトずしお珟れたす。

目暙はシンプルです粟床を倱わずにフォヌムを速く予枬可胜に保぀こず。倚くの堎合「党郚読み蟌んでスクロヌルする」方匏をやめ、ナヌザヌが正しいレコヌドを玠早く芋぀けられるパタヌンに眮き換え、システムは必芁な分だけを取埗するようにしたす。

遅さの原因平易な説明

巚倧なドロップダりンは芋た目はシンプルでもブラりザは本気で仕事をしたす。数千件の項目を読み蟌むず、数千のoption芁玠を䜜り、それらを枬定し、画面に描画するこずを芁求しおいるのです。DOMや描画コストはすぐに倧きくなりたす。フォヌムに同様のフィヌルドが耇数あるず特に顕著です。

可芖化される前から遅延は始たりたす。倚くの管理UIは参照リスト顧客、補品、拠点をプリロヌドしおおき、埌で即座に開けるようにしたす。するずAPIレスポンスが倧きくなり、ネットワヌク埅ちやJSONのパヌス時間が増えたす。良奜な接続でも倧きなペむロヌドはフォヌムが操䜜可胜になるたでの時間を遅らせたす。

メモリも問題です。倧きなリストをブラりザに保持するずRAMを消費したす。ロヌ゚ンドのノヌトや叀いブラりザ、他のタブで負荷がかかっおいる状態では、ドロップダりンが開いた瞬間に䞀時的に固たるこずさえありたす。

ナヌザヌは技術的な理由を気にしたせん。圌らはただ䞀時停止を感じたす。よくある「マむクロ遅延」はフロヌを壊したす

  • ペヌゞは読み蟌たれおいるが、最初のクリックが䞀瞬反応しない。
  • ドロップダりンの開閉が遅い、スクロヌルがぎこちない。
  • 他のフィヌルドでの入力がわずかに遅れる。
  • すでにUIに負荷がかかっおいるので保存が遅く感じる。

300〜600msのひっかかりは小さく聞こえたすが、デヌタ入力を繰り返す䞀日では倧きなフラストレヌションになりたす。

UXの問題性胜だけではない

倧きなドロップダりンは遅く感じるだけでなく、単玔な遞択を小さなパズルに倉えたす。ナヌザヌはフォヌムを埋めるたびにそのコストを支払いたす。

人は2,000項目を効果的にスキャンできたせん。リストが瞬時にロヌドされおも、目は「探すモヌド」に入り、スクロヌル→行き過ぎ→戻る→ためらう、ずいう流れになりたす。リストが倧きいほど、正しい倀を確認するのに時間を費やし、䜜業完了が遅れたす。

誀遞択も起きやすいです。トラックパッドのわずかなスクロヌルでハむラむトがずれ、クリックで違う行を遞んでしたうこずがありたす。間違いは埌で誀った請求先、誀った倉庫、誀ったカテゎリヌ発芚し、远加䜜業や監査の混乱を招きたす。

ネむティブのselectの「怜玢」も萜ずし穎です。プラットフォヌムによっおはタむピングで先頭䞀臎にゞャンプするものもあれば、挙動が異なるものもあり、発芋されにくいこずがありたす。ナヌザヌはアプリを責めたすが、コントロヌル自䜓は単なるドロップダりンの動䜜をしおいるだけの堎合がありたす。

長いリストはデヌタ品質の問題も隠したす。重耇、名前が䞍明瞭、アヌカむブすべき叀いレコヌド、接尟蟞でしか区別できないオプションはノむズに埋もれお芋えなくなりたす。

「1぀遞ぶ」フィヌルドに察する簡単な珟実チェック

  • 新しいチヌムメンバヌが初回で正しく遞べるか
  • 誀りを誘う近䌌重耇名はあるか
  • Mac、Windows、モバむルで同じ挙動か
  • 遞択が間違っおいたら誰かがすぐに気づくか

ドロップダりンが適切な堎合

すべおのセレクトフィヌルドが怜玢を必芁ずするわけではありたせん。リストが短く安定しおいお文脈に䟝存しないなら、ドロップダりンは優れた遞択です。

人が玠早くスキャンしお盎感で正しい倀を認識できる堎合、ドロップダりンが匷力です。䟋えば泚文ステヌタス、優先床、ナヌザヌロヌル、囜など。リストが時間を通しおほが同じで通垞1画面に収たるなら、シンプルなコントロヌルが勝ちたす。

䞀般的な目安は玄50〜100項目未満です。ラベルを読むだけで遞べるなら、速床ず明瞭さの䞡方が埗られたす。

ナヌザヌが同じ頭文字を䜕床もタむプし始めるのはヒントです。リストが蚘憶しにくく、スキャンより怜玢の方が速くなっおいるサむンです。

頻繁に倉わるリストやログむンナヌザヌに䟝存するリストは明確な境界です。䟋えば「Assigned to」はチヌムや地域、暩限によっお倉わりたす。すべおのナヌザヌを読み蟌むドロップダりンは叀く、重く、混乱を招きたす。

AppMasterのようなツヌルで構築するなら、ドロップダりンはステヌタスのような小さな参照デヌタに留め、顧客・補品・スタッフなど事業ずずもに増えるものは怜玢ベヌスの遞択に切り替えるのが良いルヌルです。

タむプアヘッドオヌトコンプリヌト最も簡単な眮換

フィルタリングをサヌバヌぞ移行
ペヌゞング察応のバック゚ンド怜玢APIを远加しお、UIが党件をダりンロヌドしないようにしたす。
゚ンドポむントを䜜成

タむプアヘッドは、入力に応じお怜玢を行い䞀臎する短い候補リストを衚瀺するテキストフィヌルドです。巚倧なリストをスクロヌルさせる代わりにキヌボヌドで怜玢させ、リアルタむムで曎新される結果から遞ばせたす。

これは倚くの堎合、最初に詊すべき最良の修正です。レンダリング量ずダりンロヌド量を枛らし、目的の項目を芋぀ける劎力を枛らしたす。

良いタむプアヘッドはいく぀かの基本ルヌルに埓いたす。怜玢を開始する前に最䜎文字数通垞2〜3を埅ち、UIが「あ」や「e」で暎走しないようにしたす。結果は高速に返しリストは短く通垞䞊䜍10〜20件保ち、結果内で䞀臎郚分を匷調衚瀺しおスキャンを速くしたす。空状態には「結果がありたせん」ずいう明確なメッセヌゞず次の手順を瀺しおください。

キヌボヌド挙動は重芁です䞊䞋で候補移動、Enterで遞択、Escで閉じる。これらの基本が欠けるずタむプアヘッドはドロップダりンより䜿いにくく感じたす。

现かな改善が安定感を生みたす。読み蟌み状態を衚瀺しお重耇入力や混乱を防ぎたす。䟋えば「jo」ず入力しお少し止たれば結果が玠早く出るべきです。ナヌザヌが「john sm」ず入力したずきは、リストがハむラむトを倱ったりゞャンプしたりせずに絞り蟌たれるべきです。

䟋管理画面で顧客を遞ぶ堎合、"mi"ず打぀ず「Miller Hardware」「Mina Patel」「Midtown Bikes」が出お、"mi"の郚分が匷調衚瀺される、ずいった挙動です。AppMasterではこのパタヌンは自然に適合したす。UIが顧客を怜玢する゚ンドポむントを呌び出し、テヌブル党䜓ではなく必芁な少数の䞀臎だけを返せるからです。

本圓に䞀臎がないずきは玠盎に圹立぀案内を出しおください「'johns'に該圓する顧客は芋぀かりたせんでした。短い名前で詊すかメヌルで怜玢しおください。」

タむプアヘッドの実装手順

タむプアヘッドは小さな怜玢ツヌルずしお扱うず効果的です。目暙は単玔少数の良い䞀臎を玠早く取埗し、ナヌザヌに遞ばせお遞択を安党に保存するこず。

実甚的で迅速な蚭定

  • 人が芚えおいるキヌずなるフィヌルドを1〜2個遞びたす。顧客なら名前かメヌル、補品ならSKUや内郚コヌドなど。この遞択がスタむリングより重芁です。最初の数文字で結果が出るかを巊右したす。

゚ンドツヌ゚ンドのフロヌを実装したす

  • 怜玢キヌを決め䟋顧客名メヌル、最小文字数を蚭定2〜3。
  • ク゚リ文字列ずペヌゞングを受け取るAPI゚ンドポむント䟋qずlimit、offsetたたはカヌ゜ルを䜜る。
  • 垞に少数通垞䞊䜍20件だけを返し、IDず衚瀺に䜿うフィヌルドを返す。
  • UIでは読み蟌み衚瀺、空結果、キヌボヌド操䜜をサポヌトする。
  • 遞択は衚瀺テキストではなくIDで保存し、ラベルは衚瀺専甚ずしお扱う。

小さな䟋管理者がmaria@ず入力するず、UIはq=maria@で゚ンドポむントを呌び20件の䞀臎を受け取りたす。ナヌザヌが正しいものを遞ぶずフォヌムはcustomer_id=12345を保存したす。埌で顧客の名前やメヌルが倉わっおも保存デヌタは正しいたたです。

AppMasterで構築する堎合も同じです怜玢甚のバック゚ンド゚ンドポむントペヌゞング付きを甚意し、UIフィヌルドに接続しお、遞ばれた倀をモデルのIDにバむンドしたす。

応答性を保぀ために2぀の泚意点リク゚ストはデバりンスし毎キヌで呌ばない、セッション内で最近のク゚リ結果をキャッシュするず良いです。

サヌバヌ偎フィルタリングのパタヌン

倧きなドロップダりンを玠早く眮換
ナヌザヌが入力するず10〜20件だけを読み蟌む怜玢可胜なピッカヌを䜜成できたす。
AppMasterを詊す

リストが数癟件を超えるずブラりザ偎フィルタは芪切でなくなりたす。ペヌゞは䜿わないデヌタをダりンロヌドし、さらに衚瀺のために䜙蚈な凊理を行うこずになりたす。

サヌバヌ偎フィルタリングは流れを逆転させたす小さなク゚リ䟋「name starts with ali」を送り、最初のペヌゞだけを返しおもらう。こうすればテヌブルがどれだけ倧きくなっおもフォヌムは応答性を保おたす。

応答時間を安定させるパタヌン

いく぀かのシンプルなルヌルで倧きな差が出たす

  • ペヌゞサむズを制限䟋20〜50件し、「次ぞ」トヌクンやペヌゞ番号を返す。
  • デヌタが倉化する堎合はカヌ゜ルベヌスのペヌゞングを優先しお、レコヌドが远加された際の飛びを避ける。
  • UIが必芁ずするフィヌルドだけidずラベルを返し、フルレコヌドは返さない。
  • 安定した゜ヌト䟋名前→idを䜿い、結果が飛ばないようにする。
  • ク゚リ内でナヌザヌの暩限を適甚し、事埌にフィルタヌするのではなく最初から適切な結果だけを返す。

キャッシュ圹立぀が倱敗しやすい

キャッシュは人気のある怜玢を高速化できたすが、再利甚が安党な堎合に限りたす。「䞻芁な囜」や「よく䜿われるカテゎリ」は候補です。顧客リストは暩限やアカりント状態、最近の倉曎に䟝存するこずが倚く、キャッシュに向かない堎合がありたす。

キャッシュするなら短寿呜にし、ナヌザヌロヌルやテナントをキャッシュキヌに含めおください。そうしないず別ナヌザヌのデヌタが混ざる危険がありたす。

AppMasterでは通垞、怜玢文字列ずカヌ゜ルを受け取り、バック゚ンドロゞックでアクセス制埡を行っおから次ペヌゞの候補を返す゚ンドポむントを䜜りたす。

参照デヌタのパタヌンでフォヌムを高速に保぀

倚くの「遅いドロップダりン」問題は実は「汚れた参照デヌタ」の問題です。フィヌルドが別テヌブル顧客、補品、拠点を指すずきは、それを参照ずしお扱っおくださいIDを保存し、ラベルは衚瀺専甚ずする。こうするずレコヌドが小さくなり履歎の䞊曞きを避け、怜玢やフィルタが簡単になりたす。

参照テヌブルは地味で䞀貫したものにしおください。各行に明確なナニヌクキヌ倚くは数倀IDずナヌザヌが認識できる名前を持たせたす。行を削陀する代わりにactive/inactiveフラグを付け、叀いレコヌドでも解決できるようにしたす。これによりタむプアヘッドやサヌバヌ偎フィルタでactive=trueをデフォルトにでき、安党に絞れたす。

ラベルをレコヌドにスナップショットするかどうかは早めに決めおください。請求曞の行項目はcustomer_idを持ち぀぀customer_name_at_purchaseを保存しおおくず監査や玛争に圹立ちたす。日垞の管理レコヌドでは、名前の誀字修正が党䜓に反映されるように珟圚の名前を垞に結合しお衚瀺する方が良いこずが倚いです。簡単なルヌル過去の状態を読みやすく保持する必芁があるならスナップショットを採甚しおください。

速床のための小さな工倫で党デヌタを読み蟌たずに枈みたす。「最近䜿った」項目ナヌザヌごずを䞊䜍に衚瀺するのは非垞に効果的です。お気に入りは毎日同じ数個を遞ぶ堎面で匷力です。デフォルト倀盎近で䜿った倀を蚭定すればやり取りを枛らせたす。非アクティブな項目はナヌザヌが芁求したずきだけ衚瀺するこずでリストをきれいに保おたす。

䟋泚文で倉庫を遞ぶ堎合、泚文にはwarehouse_idを保存し衚瀺は倉庫名を出すだけにしたす。監査が必芁なら埋め蟌み保存を怜蚎したす。AppMasterではData Designerで参照をモデル化し、ビゞネスロゞックで「最近の遞択」を蚘録しお数千件をUIに読み蟌たない蚭蚈ができたす。

よくあるフォヌムシナリオずより良いUIコントロヌル

顧客怜玢を導入
名前やメヌルで怜玢し、安定したIDを保存する顧客フィヌルドを実装したす。
AppMasterを詊す

巚倧なドロップダりンが出珟する理由はフォヌム䞊のフィヌルドが「単玔に芋える」からです。しかし実務䞊は異なるコントロヌルが必芁な堎合が倚く、適切に蚭蚈しないず速床ず䜿いやすさが壊れたす。

䟝存フィヌルドは兞型䟋です。CityがCountryに䟝存するなら、最初にCountryだけ読み蟌み、ナヌザヌが囜を遞んだらその囜の郜垂だけを取埗しおください。郜垂リストがただ倧きければ、その囜に限定したタむプアヘッドにしたす。

タグやロヌル、カテゎリずいったマルチセレクトは倧きいリストで壊れやすいです。怜玢優先のマルチセレクトでナヌザヌ入力に応じお結果を読み蟌み、遞択枈み項目をチップ衚瀺にするこずで数千件を読み蟌む必芁がなくなりたす。

項目が芋぀からない堎合にその堎で「新芏䜜成」できるこずもよく求められたす。フィヌルドの近くやピッカヌ内に「Add new 」を眮き、新芏䜜成埌に自動遞択する流れを䜜っおください。必須フィヌルドやナニヌク性はサヌバヌ偎で怜蚌し、競合は明確に凊理したす。

長い参照リスト顧客、補品、ベンダヌにはルックアップダむアログやサヌバヌ偎フィルタ付きのタむプアヘッドを䜿い、結果には文脈顧客名メヌルなどを衚瀺しお正確に遞べるようにしたす。

ネットワヌクが悪い環境やオフラむン時には倧きなリストはさらに䜿いにくくなりたす。内郚アプリを䜿いやすくするためのいく぀かの工倫ナヌザヌごずの最近の遞択をキャッシュしお共通候補を即座に出す、明確な読み蟌み衚瀺、再詊行を入力内容を消さずに行えるこず、ルックアップの読み蟌み䞭も他のフィヌルド入力を続けられるこず。

AppMasterでフォヌムを構築する堎合、これらのパタヌンは参照テヌブルを適切にモデル化し、サヌバヌ偎でフィルタ怜玢の゚ンドポむントを甚意するこずで、デヌタが増えおもUIを応答性の高いたた維持できたす。

悪化させるよくある間違い

管理ツヌルをデプロむ
AppMaster Cloud、たたは自分のAWS、Azure、Google Cloudぞ内郚ツヌルをデプロむしたす。
アプリをデプロむ

ほずんどの遅いフォヌムは䞀぀の巚倧テヌブルが原因ずいうより、UIが高コストな遞択を䜕床も繰り返しおいるこずが原因です。

兞型的な間違いは「ペヌゞ読み蟌み時に党件を䞀床だけ読み蟌む」こずです。2,000件では問題なく感じられおも、1幎埌に200,000件になればどのフォヌムも長い埅ち時間ず重いペむロヌドで開くこずになりたす。

怜玢が速くおも倱敗するこずがありたす。フィヌルドが衚瀺名だけで怜玢する堎合、ナヌザヌは困りたす。実際の人は手元にある情報で怜玢したす顧客のメヌル、内郚コヌド、電話番号、口座の䞋4桁など。

いく぀かの問題が普通のコントロヌルを苊痛にしたす

  • デバりンスがないため毎キヌでリク゚ストを送る。
  • フルレコヌドなど倧きなペむロヌドを返す。
  • 非アクティブや削陀枈みアむテムの扱いがないため、保存埌に空欄が出る。
  • ラベルテキストを保存しおしたい、重耇やレポヌトの乱れを招く。
  • 結果に文脈が䞍足し、2぀の「John Smith」を区別できない。

実䟋゚ヌゞェントが顧客を遞ぶ。顧客「Acme」が重耇し片方が非アクティブでフォヌムはラベルを保存しおいた。結果ずしお請求先が誀ったレコヌドを指すようになり、修正が困難になった。

AppMasterではデヌタモデル内で参照をIDずしお保持し、UIはラベルだけを衚瀺するのが安党なデフォルトです。怜玢゚ンドポむントは小さくフィルタされた䞀臎リストを返すようにしたす。

出荷前の簡単チェックリスト

「リストから遞ぶ」フィヌルドは性胜ずUXの䞡面でリスクがあるず考えお蚭蚈しおください。テストデヌタでは問題なく芋えおも、実デヌタで壊れたす。

  • リストが玄100件を超えそうなら、タむプアヘッド怜玢や怜玢可胜なピッカヌに切り替える。
  • 怜玢応答は小さく保぀。1ク゚リあたり20〜50件を目暙にし、ナヌザヌがさらに入力すべきタむミングを明瀺する。
  • ラベルではなく安定した倀を保存する。レコヌドIDを保存し、サヌバヌ偎で暩限チェックを含めお怜蚌しおからフォヌムを受け入れる。
  • 状態を意図的に扱う怜玢䞭のむンゞケヌタヌ、マッチがないずきの芪切な案内、リク゚スト倱敗時の明確な゚ラヌ。
  • マりスなしで速く操䜜できるようにする。キヌボヌドナビゲヌションをサポヌトし、名前・メヌル・コヌドの貌り付けを蚱可する。

AppMasterのようなノヌコヌドツヌルで構築しおいるなら、通垞は1぀の入力UI、1぀の怜玢゚ンドポむント、そしおバック゚ンドロゞックでの怜蚌を組み合わせるだけで枈みたす。高トラフィックのフォヌムでは日垞的な差が非垞に倧きくなりたす。

珟実的な䟋管理パネルで顧客を遞ぶ

怜玢を安党に保぀
可芖的なビゞネスロゞックで暩限を適甚し、蚱可された䞀臎だけを返したす。
ワヌクフロヌを䜜る

サポヌトチヌムが受け取ったチケットに顧客を割り圓おるUIを䜿っおいたす。顧客リストが8,000件に増えるず単玔な話が耇雑になりたす。

「ビフォヌ」では巚倧なドロップダりンを䜿っおいたした。開くのに時間がかかりスクロヌルが遅く、ブラりザは数千のオプションを保持する必芁がありたした。さらに「Acme」が耇数あり衚蚘ゆれがあるず、間違った顧客を遞ぶこずが垞態化したす。結果ずしお小さな時間のロスが積み重なり、埌でレポヌトが混乱したす。

「アフタヌ」ではそれをタむプアヘッドに眮き換えたした。゚ヌゞェントは3文字入力すれば䞊䜍の候補がすぐに出お遞択し次に進めたす。結果にはメヌルドメむンやアカりントID、郜垂などの文脈を衚瀺しお正しい顧客が明確にわかるようにしたす。

高速化のために怜玢はブラりザではなくサヌバヌで行いたす。UIは最初の10〜20件だけを芁求し、関連性プレフィックス䞀臎や最近䜿ったものの混合で゜ヌトし、ステヌタスでフィルタ䟋activeのみしたす。これが長いリストを日垞の悩みに倉えないパタヌンです。

デヌタの衛生を少し敎えるだけで流れはさらに安党になりたす

  • 衚瀺名のルヌルを定める䟋正匏名郜垂やドメむン。
  • メヌルドメむン、皎ID、倖郚IDなどで重耇を防ぐ。
  • 衚瀺名フィヌルドを補品党䜓で䞀貫させる。
  • マヌゞされたレコヌドは非アクティブにしお履歎を残す。

AppMasterのようなツヌルでは、怜玢可胜な参照フィヌルドをAPI゚ンドポむントに接続し、ナヌザヌがタむプするたびに䞀臎を返す蚭蚈が䞀般的です。フォヌムに党顧客を読み蟌むよりもはるかにスケヌラブルです。

次のステップ1぀のフィヌルドを改善しおパタヌンを暙準化する

みんなが䞍満を蚀っおいるドロップダりンを1぀遞んでください。候補は倚くの画面に出るフィヌルドCustomer、Product、Assigneeで数癟件を超えたものです。その1぀を眮き換えるだけで倧きな効果が埗られ、すべおのフォヌムを曞き盎す必芁はありたせん。

たずそのフィヌルドが䜕を指しおいるかを決めたす安定したIDを持぀参照テヌブル顧客、ナヌザヌ、SKUず、衚瀺に䜿う少数のフィヌルド名前、メヌル、コヌド。次にUIが玠早く必芁な分だけ返す怜玢゚ンドポむントを定矩したす。

実行可胜なロヌルアりト蚈画

  • そのフィヌルドをタむプアヘッド怜玢に眮き換える。
  • 郚分䞀臎ずペヌゞングをサポヌトするサヌバヌ偎怜玢を远加する。
  • IDラベルずメヌルなどの補助ヒントを返す。
  • 遞択倀はラベルではなくIDずしお保存する。
  • 同じ゚ンティティを遞ぶ堎所では同じパタヌンを再利甚する。

倉化を枬定するためにいく぀かの基本指暙を远いたしょう。フィヌルドを開くたでの時間瞬時に感じられるか、遞択たでの時間短くなるか、゚ラヌ率誀遞択、再線集、諊めが改善されるか。5〜10人の実ナヌザヌでの軜いビフォヌ/アフタヌ評䟡でも十分に効果が芋えたす。

AppMasterで管理ツヌルを䜜る堎合、Data Designerで参照をモデル化し、Business Process Editorでサヌバヌ偎怜玢ロゞックを远加すれば、UIは党件を読み蟌むのではなく小さなスラむスを芁求するようになりたす。倚くのチヌムはappmaster.ioで内郚アプリを䜜る際にこのパタヌンを採甚し、テヌブルが成長しおもスケヌルする暙準ずしお䜿っおいたす。

最埌に、チヌムで再利甚できる基準を曞き出しおください怜玢開始の最小文字数、デフォルトペヌゞサむズ、ラベルのフォヌマット、結果がないずきの挙動。新しいフォヌムを䞀貫しお速く保぀のは䞀貫したルヌルです。

よくある質問

When should I stop using a dropdown and switch to search?

リストが小さく安定しおいお玠早く目で確認できるなら、ドロップダりンで問題ありたせん。ナヌザヌが正しい遞択をするために入力が必芁になったり、リストが成長する芋蟌みがあるなら、日垞的なストレスになる前に怜玢ベヌスのピッカヌに切り替えおください。

How many options is “too many” for a dropdown?

数癟件台の䜎い桁でスキャンが遅くなりミスクリックが増えるため、倚くのチヌムは数癟件で摩擊を感じ始めたす。数千件になるずパフォヌマンスの遅延や誀遞択が䞀般的になり、数䞇件では通垞のドロップダりンは珟実的なコントロヌルではなくなりたす。

What’s the simplest good typeahead setup?

最小で2〜3文字入力しおから怜玢を開始し、10〜20件くらいの小さな結果セットを返すのが最も簡単で効果的な蚭定です。キヌボヌドでの遞択䞊䞋キヌ、Enter、Escをサポヌトし、結果ごずに名前メヌルやコヌドなどの文脈を衚瀺しお重耇を刀別しやすくしたす。

How do I keep autocomplete from hammering my API?

入力をデバりンスしお各キヌ入力でAPIを叩かないようにし、フィルタリングはサヌバヌ偎で行っおください。レスポンスは候補衚瀺に必芁な最小限のフィヌルドだけにしお、API負荷を抑えたす。

Why is server-side filtering better than loading everything once?

フィルタリングずペヌゞングをサヌバヌで行い、UIは短いク゚リを送っお1ペヌゞ分の候補だけを受け取るようにしたす。こうするこずでレコヌド数が䜕千・䜕癟䞇になっおも応答時間を䞀定に保おたす。

Should my form store the option label or the record ID?

衚瀺ラベルではなくレコヌドのIDを保存しおください。名前やラベルは倉わるため、IDを保存するこずで参照切れや重耇、レポヌトの䞍敎合を防げたす。

How can I reduce wrong picks like the wrong “John Smith”?

結果にメヌル、郜垂、内郚コヌド、口座番号の䞋4桁などの識別情報を衚瀺しお、正しい遞択が䞀目でわかるようにしおください。可胜ならデヌタレむダヌで重耇を枛らし、非アクティブなレコヌドはデフォルトで隠したしょう。

What’s the best approach for dependent fields like Country → City?

䞡方のリストを事前に読み蟌たず、たずCountryを読み蟌み、ナヌザヌが囜を遞択したらその囜に玐づくCityだけを取埗したす。Cityが䟝然ずしお倧きい堎合は、その囜に絞ったタむプアヘッドにしおください。

How do I make these pickers usable on slow networks?

ナヌザヌごずの“最近䜿った”遞択をキャッシュしおおけば䞀般的な候補は即時衚瀺できたす。怜玢は再詊行できるようにし、読み蟌みや゚ラヌ状態を明確に瀺しおフォヌムの他の入力をブロックしないようにしたす。

How would I implement this pattern in AppMaster?

怜玢文字列ずペヌゞ付きの小さな結果IDず衚瀺フィヌルドを返すバック゚ンド゚ンドポむントを䜜り、UIのタむプアヘッドをその゚ンドポむントにバむンドしお遞択したIDをモデルに保存したす。AppMasterでは通垞、これがバック゚ンド゚ンドポむントUIバむンドバック゚ンドでのアクセス制埡に察応したす。

始めやすい
䜕かを䜜成する 玠晎らしい

無料プランで AppMaster を詊しおみおください。
準備が敎ったら、適切なサブスクリプションを遞択できたす。

始める
管理UIの倧きなドロップダりンが䜜業を遅くする理由 | AppMaster