LWC para:cada diretiva

Lwc Para Cada Diretiva



Se você estiver trabalhando com listas LWC ou registros do Salesforce, poderá ser necessário retornar os dados. Por exemplo, você precisa exibir todos os registros do objeto Salesforce (Padrão ou Personalizado), temos que armazenar todos eles na lista Apex e exibir os registros. Aqui, a diretiva de modelo for-each entra em cena. Basicamente, foreach é um loop especificado no template HTML que retorna todos os registros presentes nos dados fornecidos. Neste guia, discutiremos como buscar os elementos do array, array de objetos, objetos aninhados e lista Apex com exemplos.

Para cada

No LWC, for:each é uma diretiva usada com a tag template. Ele retorna os itens dos dados fornecidos. São necessários dois parâmetros. Temos que especificar os dados no para:cada={dados} e para:item=”variável” pega o item atual (do iterador) que é especificado com uma variável. O para: índice=”índice_var” armazena o índice do elemento que especifica o índice do elemento atual.

Sintaxe:







Vamos ver como especificar a diretiva for:each no LWC (componente HTML). O for:index é opcional.



'item_var' para:índice= 'índice_var' >



'1,0' ?>

'http://soap.sforce.com/2006/04/metadata' >

57,0

verdadeiro



relâmpago__RecordPage

relâmpago__AppPage

relâmpago__HomePage



2. Em todos os exemplos que discutiremos neste guia, a lógica será fornecida como o código “js”. Depois disso, especificamos a captura de tela que inclui todo o código “js”.



Exemplo 1:

Vamos criar uma lista que contém 10 assuntos no arquivo “firstComponent.js”. Use a diretiva de modelo for:each e itere esta lista com o iterador “sub”. Especifique a chave como este iterador dentro da tag de parágrafo e exiba os assuntos.

primeiroExemplo.html



'Matriz de assuntos' >



'sub' para:índice= 'índice' >

{sub}











primeiroExemplo.js

// Cria subject_array que contém 10 assuntos

assuntos_array = [ 'AWS' , 'Força de vendas' , 'PHP' , 'Java' , 'Pitão' , 'HTML' , 'JS' , 'Java' , 'Oráculo' , 'C#' ];

Código inteiro:

Saída:

Adicione este componente à página “Registro” de qualquer objeto (nós o adicionamos à página “Registro” da conta). Todos os 10 elementos são exibidos na IU.

Exemplo 2:

Agora, criamos um array de objetos que é “id”, o programa, e digitamos com 10 registros relacionados aos Assuntos. Eles são iterados para obter o programa e o tipo. A chave é o “id” e os valores do tipo são exibidos em negrito.

segundoExemplo.html



'Matriz de assuntos' >



'obj' para:índice= 'índice' >

{obj.program} - {obj.type}











segundoExemplo.js

// Cria array_of_objects que contém detalhes de 10 assuntos

array_of_objects = [{id: 1 ,programa: 'AWS' , tipo: 'Nuvem' },{eu ia: 2 ,programa: 'Força de vendas' , tipo: 'Nuvem' },

{eu ia: 3 ,programa: 'PHP' , tipo: 'Rede' },{eu ia: 4 ,programa: 'Java' , tipo: 'Web/Dados' },

{eu ia: 5 ,programa: 'Pitão' , tipo: 'Todos' },{eu ia: 6 ,programa: 'HTML' , tipo: 'Rede' },

{eu ia: 7 ,programa: 'JS' , tipo: 'Rede' },{eu ia: 8 ,programa: '.LÍQUIDO' , tipo: 'Web/Dados' },

{eu ia: 9 ,programa: 'Oráculo' , tipo: 'Dados' },{eu ia: 10 ,programa: 'C#' , tipo: 'Dados' }];

Código inteiro:

Saída:

Você pode ver que todos os programas são exibidos na IU junto com seus tipos.

Exemplo 3:

Crie uma matriz aninhada de objetos (id, programa, tipo e tópicos). Aqui, os tópicos conterão novamente uma lista de elementos. Na primeira diretiva de modelo for:each, iteramos todo o array aninhado. Dentro deste modelo, iteramos os tópicos novamente usando o iterador anterior. A seguir, exibimos o programa, o tipo e os tópicos no modelo principal for:each.

terceiroComponent.html



'Matriz de assuntos' >



'val' para:índice= 'índice' >

'val1' >



PROGRAMA:  {val.program}   - {val.type} TÓPICOS:   {val.Tópicos}











terceiroComponent.js

dados = [{id: 1 ,programa: 'AWS' , tipo: 'Nuvem' , Tópicos:[ 'Introdução' , 'Fundamentos do AWC' ]},

{eu ia: 2 ,programa: 'Força de vendas' , tipo: 'Nuvem' , Tópicos:[ 'Administrador' , 'Desenvolvimento' ]},

{eu ia: 3 ,programa: 'PHP' , tipo: 'Rede' , Tópicos:[ 'Introdução' , 'PHP-MySQL' ]}];

Código inteiro:

Saída:

Todos os assuntos são exibidos com seu tipo e tópicos. Cada disciplina contém dois tópicos.

Exemplo 4:

Vamos iterar os registros que estão presentes no objeto “Conta”. Primeiro, escreva uma classe Apex que retorne a lista de registros (método returnAcc()) que inclui os campos ID da conta, Nome, Setor e Classificação do objeto Padrão da conta. No arquivo “js”, invocamos o método returnAcc() do Apex (por meio da instrução import) dentro deconnectedcallback(). Isso retorna as contas. Finalmente, essas contas são especificadas na diretiva de modelo for:each para obter o nome da conta e o setor.

Dadosdaconta.apxc

public com classe de compartilhamento AccountData {

@AuraEnabled(cacheable=true)

public static List returnAcc(){

List accountList = [SELECT Id, Name,Industry,Rating FROM Account limit 10 ];

return listadecontas;

}

}

finalComponent.html



'Exibir lista de contas' >

'slds-var-m-around_medium' >



'conta_rec' >

Conta: {account_rec.Name}     Setor: {account_rec.Industry}













finalComponent.js

importar { LightningElement, faixa } de 'sorte' ;

importar returnAcc de '@salesforce/apex/AccountData.returnAcc' ;

exportar classe padrão FinalComponent estende LightningElement {

@track contas;

Erro @track;

conectadoCallback(){

returnAcc()

//Retorna as contas

.então(resultado => {

this.accounts = resultado;

this.error = indefinido;

})

.catch(erro => {

este.erro = erro;

this.accounts = indefinido;

});

}

}

Saída:

Apenas 10 contas são exibidas com os campos Nome e Setor.

Conclusão

Discutimos a diretiva de modelo for:each que é usada para retornar os itens dos dados fornecidos. São fornecidos quatro exemplos diferentes que incluem a lista, matriz de objetos, objetos aninhados e objetos do Salesforce. Os dados devem vir do arquivo “js” e usá-los no modelo for:each. Certifique-se de que você precisa implantar a classe Apex primeiro ao implantar os últimos componentes de exemplo.