o método funciona porém a view não está atualizando...sei que funciona porque ao chamar negociacaoController._inputData recebo o retorno "", conforme especifica pelo método...o que pode estar errado ?
o método funciona porém a view não está atualizando...sei que funciona porque ao chamar negociacaoController._inputData recebo o retorno "", conforme especifica pelo método...o que pode estar errado ?
Olá, Fabio. Tudo bem?
Se importaria em compartilhar o código do controle?
Mas a principio suspeito do seguinte: você deve estar definindo uma string vazia para seu this._inputData
, atente que você precisa fazer isso para a propriedade textContent
.
Estou aqui chutando, pois não vi seu código, mas se você fizesse `this._inputData.textContent = "", funcionaria?
Se sim, por favor faça isso para os demais campos.
Att., Cristina Silva
Olá Fábio e Cristina, também tive esse problema. Tentei usar o .textContent mas continuou o erro. Então, revisei a aula e não havia aplicado o .value como o professor fez. Assim, tudo funcionou perfeitamente. Inclusive, antes de aplicar o .value, estava dando erro no .focus(). Segue código funcionando:
class NegociacaoController {
constructor() {
let $ = document.querySelector.bind(document);
this._inputData = $('#data');
this._inputQuantidade = $('#quantidade');
this._inputValor = $('#valor');
this._listaNegociacoes = new ListaNegociacoes();
}
adiciona(event) {
event.preventDefault();
this._listaNegociacoes.adiciona(this._criaNegociacao());
this._limpaFormulario();
console.log(this._listaNegociacoes.negociacoes)
}
_criaNegociacao() {
return new Negociacao(
DateHelper.textoParaData(this._inputData.value),
this._inputQuantidade.value,
this._inputValor.value
);
}
_limpaFormulario() {
this._inputData.value = '';
this._inputValor.value = 1;
this._inputQuantidade.value = 0.0;
this._inputData.focus();
}
}
Bom dia Cristina e Diego !!
Acertaram...eu não havia aplicado o .value...agora está tudo OK! Muito Obrigado !!
Abraços Fabio