Bagaimana untuk Memfokuskan Medan Input dalam Reaksi Selepas Pemberian?

Linda Hamilton
Lepaskan: 2024-11-03 21:15:02
asal
489 orang telah melayarinya

How to Focus an Input Field in React After Rendering?

Memfokuskan Medan Input dalam React Post-Rendering

Dalam React, menetapkan fokus pada medan input selepas pemaparan boleh dicapai melalui pelbagai kaedah .

Satu pendekatan ialah menggunakan rujukan seperti yang dicadangkan dalam dokumentasi. Dengan memberikan rujukan kepada medan input dalam fungsi pemaparan (cth., "nameInput"), anda boleh mengakses nod DOMnya dan menggunakan kaedah fokus secara manual. Walau bagaimanapun, adalah penting untuk memahami di mana dan bila untuk memanggil fungsi ini.

Fungsi Fokus Memanggil

Lokasi paling mudah untuk memanggil fungsi fokus ialah kaedah kitaran hayat componentDidMount . Ini memastikan bahawa fokus ditetapkan selepas komponen telah dipasang dalam DOM. Kod tersebut akan kelihatan seperti ini:

import React, { useRef, useEffect } from "react";

const MyComponent = () => {
  const nameInputRef = useRef();

  useEffect(() => {
    if (nameInputRef.current) {
      nameInputRef.current.focus();
    }
  }, []);

  return (
    <input ref={nameInputRef} name="..." />
  );
};

export default MyComponent;
Salin selepas log masuk

Pilihan Autofokus

Sebaliknya, anda boleh menggunakan prop autoFokus yang disediakan oleh React. Dengan menetapkan prop ini kepada benar pada medan input, komponen akan mendapat fokus secara automatik apabila dipasang.

return (
  <input autoFocus name="..." />
);
Salin selepas log masuk

Perhatikan bahawa, dalam JSX, sifat adalah autoFokus (dengan huruf besar F), tidak seperti kes- atribut HTML tidak sensitif.

Atas ialah kandungan terperinci Bagaimana untuk Memfokuskan Medan Input dalam Reaksi Selepas Pemberian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan