Ao adicionar a funcionalidade Atualizar ,aparece no console um erro de sintaxe,sei qual é o problema entretanto não sei como resolver.
view
template(listaFornecedores) {
return `<table border='1px'>
<thead>
<tr>
<th>Nome</th>
<th>CNPJ</th>
<th>Email</th>
<tr>
</thead>
<tbody>
${listaFornecedores.map(fornecedor =>
`<tr>
<td>${fornecedor.nome}</td>
<td>${fornecedor.cnpj}</td>
<td>${fornecedor.email}</td>
<td><button onclick="controller.remover(event,${fornecedor.id})">DELETAR</button></td>
<td><button onclick="controller.atualizarFornecedor(event,${fornecedor})">ATUALIZAR</button></td>
</tr>
`).join('')}
</tbody>
</table>`;
}
Explicação : Focando no problema ,o evento que será disparado deverá receber todos atributos que foram digitados no formulário para que atualize em si,entretanto acusa de um erro de sintaxe por não poder receber um objeto
atualizarFornecedor (event,fornecedor) {
event.preventDefault();
console.log(fornecedor);
let nome = document.querySelector("#txtnome").value;
let cnpj = document.querySelector("#txtcnpj").value;
let email = document.querySelector("#txtemail").value;
//fornecedor = new Fornecedor(nome, cnpj, email);
fornecedor.nome = nome;
fornecedor.cnpj = cnpj;
fornecedor.email = email;
const self = this;
this._service.atualizaFornecedor(fornecedor,
function () {
self.limparCamposFormulario();
self.carregaFornecedor();
},
function (msg) {
console.log(msg);
}
);
}
Explicação 2 Neste formulário recebemos os novos dados,a ideia seria modificar fornecedor pelos novos valores recebidos,porém eu não posso passar um objeto.
ERRO
controller.atualizarFornecedor(event,[object Object])
Se precisar que poste mais uma parte do código,só colocar nos comentários
Grato!