Esta documentação foi traduzida automaticamente por IA.
Processamento de Loop
O processamento de loop é usado para renderizar dados repetidamente de arrays ou objetos, definindo marcadores de início e fim para identificar o conteúdo que precisa ser repetido. Abaixo, descrevemos alguns cenários comuns.
Iterando sobre Arrays
1. Descrição da Sintaxe
- Use a tag
{d.array[i].propriedade}para definir o item atual do loop e use{d.array[i+1].propriedade}para especificar o próximo item, delimitando a área do loop. - Durante o loop, a primeira linha (a parte
[i]) é automaticamente usada como modelo para repetição; você só precisa escrever o exemplo do loop uma vez no modelo.
Formato de sintaxe de exemplo:
2. Exemplo: Loop Simples em Array
Dados
Modelo
Resultado
3. Exemplo: Loop de Array Aninhado
Ideal para casos em que um array contém outros arrays aninhados; o aninhamento pode ter níveis infinitos.
Dados
Modelo
Resultado
4. Exemplo: Loop Bidirecional (Recurso Avançado, v4.8.0+)
Loops bidirecionais permitem iterar simultaneamente sobre linhas e colunas, sendo ideais para gerar tabelas de comparação e outros layouts complexos (observação: atualmente, alguns formatos são oficialmente suportados apenas em modelos DOCX, HTML e MD).
Dados
Modelo
Resultado
5. Exemplo: Acessando Valores do Iterador de Loop (v4.0.0+)
Dentro de um loop, você pode acessar diretamente o índice da iteração atual, o que facilita o atendimento a requisitos de formatação especiais.
Exemplo de Modelo
Observação: O número de pontos indica o nível do índice (por exemplo,
.irepresenta o nível atual, enquanto..irepresenta o nível anterior). Atualmente, existe um problema com a ordem inversa; consulte a documentação oficial para mais detalhes.
Iterando sobre Objetos
1. Descrição da Sintaxe
- Para propriedades em um objeto, use
.attpara obter o nome da propriedade e.valpara obter o valor da propriedade. - Durante a iteração, cada item de propriedade é percorrido um por um.
Formato de sintaxe de exemplo:
2. Exemplo: Iteração de Propriedades de Objeto
Dados
Modelo
Resultado
Ordenação
Com o recurso de ordenação, você pode classificar dados de arrays diretamente no modelo.
1. Descrição da Sintaxe: Ordenação Crescente
- Use um atributo como critério de ordenação na tag do loop. O formato da sintaxe é:
- Para múltiplos critérios de ordenação, separe os atributos com vírgulas dentro dos colchetes.
2. Exemplo: Ordenação por Atributo Numérico
Dados
Modelo
Resultado
3. Exemplo: Ordenação por Múltiplos Atributos
Dados
Modelo
Resultado
Filtragem
A filtragem é usada para remover linhas de um loop com base em condições específicas.
1. Descrição da Sintaxe: Filtragem Numérica
- Adicione condições na tag do loop (por exemplo,
age > 19). O formato da sintaxe é:
2. Exemplo: Filtragem Numérica
Dados
Modelo
Resultado
3. Descrição da Sintaxe: Filtragem de String
- Especifique condições de string usando aspas simples. Por exemplo:
4. Exemplo: Filtragem de String
Dados
Modelo
Resultado
5. Descrição da Sintaxe: Filtrar os Primeiros N Itens
- Você pode usar o índice do loop
ipara filtrar os primeiros N elementos. Por exemplo:
6. Exemplo: Filtrando os Dois Primeiros Itens
Dados
Modelo
Resultado
7. Descrição da Sintaxe: Excluir os Últimos N Itens
- Use a indexação negativa
ipara representar itens a partir do final. Por exemplo:{d.array[i=-1].propriedade}recupera o último item.{d.array[i, i!=-1].propriedade}exclui o último item.
8. Exemplo: Excluindo o Último e os Dois Últimos Itens
Dados
Modelo
Resultado
9. Descrição da Sintaxe: Filtragem Inteligente
- Usando blocos de condição inteligentes, você pode ocultar uma linha inteira com base em condições complexas. Por exemplo:
10. Exemplo: Filtragem Inteligente
Dados
Modelo
Resultado
(Observação: As linhas que contêm "Falcon" no modelo são removidas pela condição de filtragem inteligente.)
Deduplicação
1. Descrição da Sintaxe
- Usando um iterador personalizado, você pode obter itens únicos (não duplicados) com base no valor de uma propriedade. A sintaxe é semelhante a um loop normal, mas ignora automaticamente os itens duplicados.
Formato de exemplo:

