React-tags: Kehilangan fokus otomatis pada input setelah menghapus tag

Dibuat pada 6 Mei 2020  ·  10Komentar  ·  Sumber: i-like-robots/react-tags

Perilaku yang diharapkan

Saya mengharapkan fokus pada input bahkan setelah saya menghapus tag

Perilaku saat ini

Input kehilangan fokus setelah saya menghapus tag tambahan

Langkah-langkah untuk Reproduksi

Langkah-langkah untuk mereproduksi masalah:

  1. ketik negara
  2. pilih negara dari drop down
  3. hapus negara dari tag
  4. input kehilangan fokus otomatis

Tangkapan layar

1
2
3

Lingkungan Anda

  • OS: Windows 10.0
  • Browser: Chrome [Versi 81.0.4044.138 (Builan Resmi) (64-bit)]
  • Versi komponen: [5.12.1]
  • Versi reaksi: [16.13.0]
bug

Semua 10 komentar

hapus negara dari tag

Dengan menekan backspace saat input kosong atau dengan mengklik tag?

maaf, itu dengan menekan tombol tutup pada tag. Ketika saya menghapusnya dengan backspace, fokus otomatis ada di sana

Terima kasih atas info tambahannya @ekinalcar.

Karena elemen dengan fokus sedang dihancurkan, saya menganggap fokus akan kembali ke jendela default... tidak ideal! Saya menduga kita perlu merekam dari mana fokus berasal saat mendarat di tag dan mengembalikannya ke sana saat dilepas.

Terima kasih atas balasan cepat Anda @i-like-robots

Pada acara hapus dengan spasi mundur, meskipun inputnya kosong (tanpa tag), fokusnya adalah pada input yang sama, bukan jendela

Hai @ekinalcar - Saya dapat membuat ulang ini. Saya menemukan bahwa dengan mouse Firefox dan Safari bekerja secara konsisten seperti yang diharapkan tetapi di Chrome fokus kursor terkadang hilang, meskipun acara klik ditangkap.

Namun, fokus selalu hilang saat menggunakan keyboard dan "mengklik" tag dengan menekan bilah spasi yang tentu saja tidak dimaksudkan. Semoga memperbaiki ini juga akan memperbaiki masalah intermiten di Chrome.

Apakah ada cara kita bisa membuat ini opsional ? Saya memiliki beberapa perilaku yang tidak diinginkan yang dipicu saat menghapus tag, jadi saya tidak selalu ingin input mencuri kembali fokus.

Bisakah Anda menjelaskan kasus penggunaan Anda @krozett ? Saya yakin ada solusi yang lebih baik daripada yang saya terapkan saat ini, tetapi saya pikir penting agar kursor _somewhere_ berguna. Mungkin saya dapat menambahkan kondisi yang memungkinkan kursor diposisikan ulang dalam panggilan balik handleDelete/onDelete .

@i-like-robots Mungkin akan lebih baik jika saya membuat tiket permintaan fitur untuk itu. Tetapi pada dasarnya saya memiliki perilaku khusus untuk perangkat seluler, di mana pengguna menekan input dan saya menggunakan overlay untuk menyembunyikan semuanya kecuali input itu, untuk memungkinkan ruang layar untuk keyboard dan saran pelengkapan otomatis. Ketika tidak ada elemen yang difokuskan, seluruh bentuk terlihat. Tetapi ketika menghapus tag, saya tidak ingin input menjadi fokus otomatis, karena kemungkinan pengguna hanya ingin menghapus tag dan tidak berniat untuk terus mengetik di kotak pencarian. Autofokus menyebabkan input muncul kembali ke mode "dominasi layar", yang tidak saya inginkan. Hanya fokus yang disengaja yang harus melakukan ini.

Itu masuk akal @krozett - mungkin solusi yang lebih baik adalah merekam dari mana fokus berasal (pada focusin ) dan mengembalikan kursor ke sana ketika tag dihapus

@i-like-robots Bagaimanapun, saya yakin v6 akan segera hadir, jadi mungkin saya harus melihat perilaku untuk itu terlebih dahulu untuk melihat apakah ada event handler yang akan melakukan apa yang saya butuhkan. 😉

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

V6
i-like-robots picture i-like-robots  ·  11Komentar

filippofilip95 picture filippofilip95  ·  4Komentar

famouspotatoes picture famouspotatoes  ·  5Komentar

yrik picture yrik  ·  10Komentar

thienanle picture thienanle  ·  9Komentar