MDUIDocs
Chat de IA
Copiar link do llms.txtCopiar link do llms-full.txtVer esta página em Markdown
Cores predefinidas
Cor personalizada
Extrair cor do papel de parede
Selecione um papel de parede
Primeiros Passos
Introdução Instalação Início rápido Suporte a TypeScript Suporte a IDE Localização FAQ
Desenvolvimento assistido por IA
Estilos
Integração com Frameworks
Componentes
Funções
Bibliotecas

FAQ

Abaixo estão algumas perguntas comuns da comunidade mdui e respostas oficiais. Recomenda-se procurar por perguntas semelhantes antes de fazer uma pergunta.

Por que usar tags auto-fechadas não exibe o componente?

mdui é uma biblioteca de componentes baseada em Web Components. A especificação Web Components não suporta tags auto-fechadas. Portanto, certifique-se de adicionar uma tag de fechamento para os componentes mdui.

<!-- Uso incorreto -->
<mdui-text-field />

<!-- Uso correto -->
<mdui-text-field></mdui-text-field>

Como ocultar componentes antes que eles sejam carregados?

Como os componentes mdui são registrados via JavaScript, antes que o arquivo JS seja carregado e o componente registrado, ele pode aparecer temporariamente sem estilo. Os dois métodos a seguir podem resolver esse problema:

Um método é usar o pseudo-classe CSS :defined para ocultar componentes mdui não registrados. O seguinte código CSS ocultará todos os componentes mdui não registrados e os exibirá imediatamente após o registro:

:not(:defined) {
  visibility: hidden;
}

Outro método é usar o método JavaScript customElements.whenDefined(). Este método retorna uma promise que é resolvida quando o componente especificado é registrado. Para lidar com casos em que alguns componentes não podem ser carregados devido a problemas, você pode usar Promise.allSettled().

O exemplo a seguir oculta <body> com opacity: 0 e, em seguida, exibe a página com um efeito fade-in após o registro dos componentes. O exemplo usa Promise.allSettled() para aguardar a conclusão de todas as promises, garantindo que a página seja exibida normalmente mesmo se algum componente não puder ser carregado:

<style>
  body {
    opacity: 0;
  }

  body.ready {
    opacity: 1;
    transition: 0.25s opacity;
  }
</style>

<script type="module">
  await Promise.allSettled([
    customElements.whenDefined('mdui-button'),
    customElements.whenDefined('mdui-card'),
    customElements.whenDefined('mdui-checkbox'),
  ]);

  // Agora os componentes button, card, checkbox foram registrados. Adicione a classe ready para exibir a página com fade-in
  document.body.classList.add('ready');
</script>
Nesta página
Chat de IA