3
respostas

tabela de arquivos contendo directives em algumas colunas

A ideia é escolher alguns arquivos, via windows explorer ou , para serem apresentados numa tabela. como linhas dessa tabela (#, nome, data de criação, tamanho; tipo; conteúdo; assunto} ; a coluna de assunto é uma directive assunto do arquivo: [ {codigo: 1, descricao: "particular"}, {codigo:2, descricao: "publico"}, {codigo : 3, descricao: "reservado"} ] que será escolhida depois que os dados do arquivo estiverem na tabela (o conteúdo não precisar ser exibido na tabela, mas vai ser guardado na base de dados) e no fim da tabela tem um botão 'salvar'. Precisava de uma ideia de caminho a seguir para esse problema

3 respostas

Fala ai Luiz, tudo bem? Nesse caso você vai precisar utilizar o input do tipo file, anexar um evento de listener quando o campo sofrer alteração, ou seja, change.

Ai através do event.target.files você consegue pegar os arquivos que foram selecionados para realizar o que precisa com eles.

Espero ter ajudado.

A parte do input file está tranquila, gerar a linha de código com as directives é o problema real porque, se fizer através de inserção de elemento html, a directive não é processada pelo angular. Essa directive de assunto (por exemplo, </meu -assunto> deve carregar uma combo (select) com os campos; mas, como a linha é inserida via javascript, o angular não processo essa directive.

Fala Luiz, nesse caso tu precisa alterar o estado do componente, ou seja, você pode criar um estado interno na classe:

public files: any[] = []

E para cada arquivo você adiciona no files:

event.target.files.forEach(file => this.files.push(file))

Ai seu componente através de iteração ngFor vai percorrer todos os valores e mostrar algo.

Ai assim o Angular vai conseguir seguir com o fluxo natural dele.

Espero ter ajudado.