React-ace: As anotações são removidas se uma nova linha for adicionada

Criado em 14 jul. 2016  ·  12Comentários  ·  Fonte: securingsincity/react-ace

Se alguém adicionar uma anotação como suporte para o componente react ace. Eles só são exibidos até eu adicionar uma nova linha ao valor. Para mostrar esse problema mudei o exemplo. A única coisa que mudei foi adicionar anotações a example/index.js na linha 29 . annotations={[{ row: 5, column: 2, type: 'error', text: 'Some error.'}]} .
Eu fiz funcionar se colocasse a renderização na linha 24 em uma função e chamasse essa função com newValue Mudança completa começando na linha 19

function onChange(newValue) {
  console.log('change', newValue);
  renderFirst(newValue);
}

function renderFirst(value = '') {
  // Render first editor
  render(
    <AceEditor
      mode="java"
      theme="github"
      name="blah1"
      value={value}
      annotations={[{ row: 5, column: 2, type: 'error', text: 'Some error.'}]}
      height="6em"
      onChange={onChange}
    />,
    document.getElementById('example')
  );
}

renderFirst();

react-ace-annotations mov

Espero que a descrição esteja clara e não seja eu usando o componente errado. Desde já, obrigado.

bug help wanted

Todos 12 comentários

Sei que estou atrasado para a festa, mas isso pode ajudar: tente definir editorProps={{$useWorker: false}} no componente do editor. Isso desativa as anotações internas do Ace e evita que ele substitua as anotações personalizadas após novas linhas.

@Poltergeist aconselhou @leMaik para corrigir o problema

Bem, pelo menos resolveu o mesmo problema para mim. :piscadela:

Infelizmente, nunca mais voltei para testá-lo, tento testá-lo o mais rápido possível.

Maik Marschner [email protected] schrieb am Fr., 23. Set. 2016 um
14:46 Uhr:

Bem, isso resolveu o mesmo problema para mim. 😉

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/securingsincity/react-ace/issues/129#issuecomment -249182559,
ou silenciar o tópico
https://github.com/notifications/unsubscribe-auth/AAJhajW15nV7Mz7yagzCCX5iL5w4WfAIks5qs8oagaJpZM4JMXso
.

Estou recebendo as anotações esperadas, mas o efeito de foco não está lá.
Ele não exibe nada quando eu passo o mouse sobre a cruz, nenhum "texto".

Alguém pode ajudar?

Na última versão 4.2.3 usando o exemplo, não consigo reproduzir este bug. Eu acredito que foi resolvido.

Infelizmente, estou reproduzindo isso novamente.
Eu tenho este código:

  editor.$useWorker = false;

Sempre que o cursor sai ou entra na linha com a anotação personalizada adicionada, a anotação desaparece.

O cursor pode se mover livremente e até adicionar novas linhas sem tocar na linha anotada. Assim que o atinge, a anotação desaparece.

Reproduction

Existe alguma atualização sobre isso? Estou tendo o mesmo problema descrito por @mikolajpp. Obrigado

Eu tenho esse problema tambem. @abrarmahmood , @mikolajpp você já descobriu por que isso está acontecendo? As várias maneiras de definir useWorker = false não funcionaram para mim.

Você precisa definir o $ useWorker na sessão:

editor.session.$useWorker = false;

Estou me perguntando se há uma maneira de contornar isso porque a configuração de useWorker = false desativa a verificação de sintaxe do ace e não é isso que eu quero. Quero mesclar minhas anotações com as do ás.

@ hamoody-omar A seguinte resposta permite que você use anotações personalizadas junto com as anotações Workers: https://github.com/securingsincity/react-ace/issues/483#issuecomment -493821013

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