1
resposta

Duvida

Olá professor ou caros monitores. Estou com uma duvida ao concluir esse curso de vue3, e na aplicação do pomodoro eu queria saber como eu faço para quando der play deixar o campo de texto desabilitado. Se alguem poder me ajudar ficarei feliz e grato.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Salve, João!

Uma das alternativas para que você alcance seu objetivo seria elevar o estado do <Temporizador /> para o <Formulario />.

Ou seja:

  data () {
    return {
      tempoEmSegundos: 0,
      cronometroRodando: false,
      cronometro: 0 
    }
  },

Controlar esse estado (como mostrado acima) pelo <Formulario /> e passar via props para o <Temporizador />.

De forma que o método finalizar, dentro do <Temporizador />, fique assim:

    finalizar () : void {
      this.$emit('aoFinalizarTarefa', this.tempoEmSegundos)
    }

E todo o restante passe a ser feito pelo <Formulario />. Assim, o Temporizador passar a ser o que chamamos de componentes visuais, ou dumb components. Ele apenas exibe os dados passados para ele via props.

Assim você tem a indicação que o cronômetro está rodando e pode então desabilitar o input :)