Agora, podemos usar este componente RecursiveRow dentro do seu componente pai para lidar com o layout de nível superior.

É isso. Se você tiver alguma dúvida, deixe um comentário abaixo.

","image":"http://www.luping.net/uploads/20241022/17295566466716f0a64994b.png","datePublished":"2024-11-01T01:01:07+08:00","dateModified":"2024-11-01T01:01:07+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Gerando layouts dinâmicos em Vue usando componentes recursivos

Gerando layouts dinâmicos em Vue usando componentes recursivos

Publicado em 01/11/2024
Navegar:743

A inspiração para este artigo vem de uma implementação recente que fiz para construir layouts dinâmicos no front-end baseado em Vue.

Vamos supor que o endpoint da sua API retorne um layout YAML como abaixo.


---
row:
  - col: 12
    row:
      - col: 12
        component_id: 1
  - col: 12
    row:
      - col: 6
        component_id: 2
      - col: 6
        row:
          - col: 12
            component_id: 3
          - col: 12
            component_id: 4


Esperamos um layout como o abaixo desta expressão YAML.

Generating dynamic layouts in Vue using recursive components

Então, para facilitar o trabalho, analisaremos essa estrutura YAML e geraremos o objeto JSON. Eu usei o pacote yaml.


npm install yaml



Então, poderíamos importá-lo e executar o analisador.


import YAML from 'yaml'
const jsonObject = YAML.parse(yaml_struct)


Para fazer isso funcionar, precisamos criar um modelo Vue recursivo e um componente que possa chamar a si mesmo recursivamente ao encontrar linhas aninhadas. Dessa forma, a estrutura lidará dinamicamente com layouts profundamente aninhados como o que forneci.


Agora, podemos usar este componente RecursiveRow dentro do seu componente pai para lidar com o layout de nível superior.


É isso. Se você tiver alguma dúvida, deixe um comentário abaixo.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/waruna/generating-dynamic-layouts-in-vue-using-recursive-components-4ci7?1 Se houver alguma violação, entre em contato com [email protected] para excluir isto
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3