A maneira mais enxuta que encontrei para resetar os campos da negociação foi criar uma id para o formulário ('#addNegociacao'), então no construtor tê-lo como atributo e o método simplesmente aplica this._form.reset()
e this._inputData.focus()
.
fiz algo de errado? teria alguma maneira melhor de se fazer isso?
class NegociacaoController {
constructor(){
//criando aliases
let $ = document.querySelector.bind(document);
this._form = $('#addNegociacao');
this._inputData = $('#data');
this._inputQuantidade = $('#quantidade').value;
this._inputValor = $('#valor').value;
}
adiciona(event) {
event.preventDefault();
let data = new Date(
...this._inputData.value.split('-')
.map((item, indice) => item - indice % 2)
);
let negociacao = new Negociacao(
data,
this._inputQuantidade,
this._inputValor
)
console.log(negociacao);
this.resetCampos();
}
resetCampos(){
this._form.reset();
this._inputData.focus();
}
}