React-dnd: Elemen hantu ditampilkan sangat tidak konsisten di Chrome 50

Dibuat pada 29 Apr 2016  ·  5Komentar  ·  Sumber: react-dnd/react-dnd

Setelah memperbarui Chrome menjadi 50, sebagian besar elemen draggable react-dnd di aplikasi kita mengalami masalah elemen hantu, dan saya tidak dapat memastikan apa penyebab utamanya (dan tidak memiliki tautan publik ke admin aplikasi kita yang bisa saya sediakan). Perilaku awal, yang berfungsi dengan baik sebelumnya, adalah menyeret elemen menunjukkan elemen hantu sementara elemen sumber disembunyikan.

Ada 6 komponen berbeda dari aplikasi kita yang dapat diseret menggunakan react-dnd. 2 di antaranya menampilkan hantu dengan baik, 3 di antaranya tidak menunjukkan hantu sama sekali, dan 1 di antaranya entah bagaimana menampilkan elemen pada lebar / tinggi yang benar tetapi tanpa konten dan latar belakang putih.

drag-ghost-what-now

Berikut adalah daftar petunjuk yang saya temukan sejauh ini:

  • Semua komponen menggunakan elemen pegangan seret dengan elemen induk sebagai pratinjau
  • Semua komponen (kecuali yang memutih) menambahkan gaya inline opacity: 0 ke elemen pratinjau jika monitor.isDragging () benar
  • Jika saya menghapus logika kondisional opacity: 0 , saya dapat melihat hantu, tetapi elemen sumber tetap terlihat, yang tidak dapat diterima
  • Ini yang aneh. Untuk 2 komponen, menambahkan z- index: 1 akan memperbaiki seluruhnya. Saya bisa melihat hantu dan komponen sumber disembunyikan. Untuk 2 komponen rusak lainnya, ini tidak memperbaiki masalah. Dan sebelumnya tidak ada aturan indeks-z atau masalah tumpukan apa pun pada komponen ini.
  • Hal itu membuat saya berpikir bahwa mungkin ada beberapa kombinasi CSS yang membuat browser berpikir bahwa komponen sumber tidak terlihat di dragstart, dan dengan demikian tidak membuat bayangan. Saya sudah mencoba menghapus / mengubah semua jenis nilai CSS dan tidak ada.
  • Ini pasti berfungsi sebelum memperbarui Chrome ke 50.
browser bug wontfix

Komentar yang paling membantu

Lihat bug Chromium terkait .

Elemen draggable = true saya memiliki posisi relatif serta elemen teks anak saya. Menghapus posisi relatif dari salah satu dari mereka memecahkan masalah saya.

Semua 5 komentar

Saya melihat perilaku yang sama persis. Saya juga tidak dapat menentukan apa yang menyebabkannya, tetapi sepertinya hanya elemen yang terpengaruh yang memiliki elemen turunan yang lebih besar dari induknya (overflow: hidden). Jika konten cocok dengan induknya tanpa meluap, pratinjau akan muncul di tempat yang benar, tetapi hanya ditampilkan dalam warna putih.

Perilaku yang sama di sini! Gambar tetap ada di pratinjau seret tetapi semua teks menghilang. Berfungsi di Safari dan Firefox.

Lihat bug Chromium terkait .

Elemen draggable = true saya memiliki posisi relatif serta elemen teks anak saya. Menghapus posisi relatif dari salah satu dari mereka memecahkan masalah saya.

Sepertinya terkait dengan # 454. Saya akan tetap membukanya untuk melacak bug kromium untuk saat ini.

Masalah ini secara otomatis ditandai sebagai usang karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut. Terima kasih atas kontribusi Anda.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat