React-dnd: Elemento fantasma sendo exibido de maneira muito inconsistente no Chrome 50

Criado em 29 abr. 2016  ·  5Comentários  ·  Fonte: react-dnd/react-dnd

Depois de atualizar o Chrome para 50, a maioria dos elementos draggable react-dnd em nosso aplicativo está tendo problemas de elemento fantasma e não consigo descobrir qual é a causa raiz (e não tenho um link público para o administrador de nosso aplicativo que posso disponibilizar). O comportamento inicial, que funcionava bem antes, é que arrastar um elemento mostrava um elemento fantasma enquanto o elemento fonte estava oculto.

Existem 6 componentes diferentes em nosso aplicativo que podem ser arrastados usando o react-dnd. 2 deles estão exibindo fantasmas perfeitamente, 3 deles não estão mostrando nenhum fantasma e 1 deles está de alguma forma mostrando o elemento na largura / altura correta, mas sem nenhum conteúdo e um fundo branco.

drag-ghost-what-now

Aqui está a lista de pistas que encontrei até agora:

  • Todos os componentes estão usando um elemento de alça de arrasto com um elemento pai como a visualização
  • Todos os componentes (exceto o que fica branco) estão adicionando um estilo de opacidade em linha
  • Se eu remover a opacidade condicional 0 , posso ver os fantasmas, mas o elemento de origem está sempre visível, o que não é aceitável
  • Aqui está um estranho. Para 2 dos componentes, adicionar z- index: 1 a eles corrige totalmente. Posso ver o fantasma e o componente de origem está oculto. Para os outros 2 componentes quebrados, isso não corrigiu o problema. E não existia anteriormente nenhuma regra de índice z ou qualquer problema de empilhamento nesses componentes.
  • Isso me levou à conclusão de que pode haver alguma combinação CSS, levando o navegador a pensar que o componente de origem não é visível no início do arrasto e, portanto, não cria o fantasma. Tentei remover / alterar todos os tipos de valores CSS e nada.
  • Isso definitivamente estava funcionando antes de atualizar o Chrome para 50.
browser bug wontfix

Comentários muito úteis

Veja o bug relacionado do Chromium .

Meu elemento draggable = true tinha posição relativa, bem como meu elemento de texto filho. Remover o posicionamento relativo de qualquer um deles resolveu meu problema.

Todos 5 comentários

Estou vendo exatamente o mesmo comportamento. Eu também não consegui identificar o que está causando isso, mas parece que apenas os elementos afetados têm elementos filho maiores que o pai (overflow: hidden). Nos casos em que o conteúdo se ajusta ao pai sem transbordar, a visualização aparece no local correto, mas é renderizada apenas em branco.

Mesmo comportamento aqui! As imagens permanecem na visualização do arrasto, mas todo o texto desaparece. Funciona no Safari e Firefox.

Veja o bug relacionado do Chromium .

Meu elemento draggable = true tinha posição relativa, bem como meu elemento de texto filho. Remover o posicionamento relativo de qualquer um deles resolveu meu problema.

Parece relacionado com # 454. Vou manter isso aberto para rastrear o bug do cromo por enquanto.

Este problema foi marcado automaticamente como obsoleto porque não teve atividades recentes. Ele será fechado se nenhuma outra atividade ocorrer. Obrigado por suas contribuições.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

gocreating picture gocreating  ·  4Comentários

Vadorequest picture Vadorequest  ·  4Comentários

redochka picture redochka  ·  3Comentários

Okami92 picture Okami92  ·  3Comentários

dreamcog picture dreamcog  ·  4Comentários