Skip to content

Soporte de plataformas ​

Plataformas de la primera versión ​

PlataformaEstadoNotas
H5✅ CompletoTodos los componentes con funcionalidad integral
Mini Programa de WeChat✅ Completo (con degradaciones parciales)Las capacidades de escritorio de los componentes de capa flotante se degradan; ver la tabla siguiente
Mini Programas de Alipay / Douyin🚫 No admitido en la primera versiónSe añadirán columnas tras validar cada plataforma con compilación condicional
App (nvue)🚫 No se admitiráEl sistema de renderizado nvue es distinto del de webview y no está en la hoja de ruta

Matriz de capacidades por componente ​

«Degradado» significa que la capacidad no admitida por la plataforma se elimina directamente mediante salvaguardas de compilación (no queda código muerto en el paquete del Mini Programa); no es un fallo en tiempo de ejecución.

ComponenteH5Mini Programa de WeChatEstrategia de degradación / notas
config-providerCompletoCompletoprovide/inject + variables CSS en línea, disponibles en todas las plataformas; el modo oscuro se basa en la clase page.dark (sin document)
button / tagCompletoCompleto—
iconCompletoCompletoFuente iconfont (en la versión web es SVG en línea; ver más abajo «Diferencias de renderizado de icon»)
inputCompletoCompletoEl estilo del marcador de posición va por la prop placeholder-style (MP no admite ::placeholder)
checkbox / radio / switchCompletoCompletoview dibujado a medida (sin componentes nativos, para unificar el lenguaje visual lh)
form / form-itemCompletoCompletoLa lógica de validación está en funciones puras del núcleo, sin dependencias de plataforma
selectCompletoDegradadoroot-portal + medición en dos fotogramas; la navegación por teclado solo en H5, en MP se usa clic + scroll-view
dialogCompletoDegradadoroot-portal; focus-trap / lockScroll solo en H5, en MP la capa de fondo intercepta como alternativa
tooltipCompletoDegradadoMedición en dos fotogramas; sin hover, en MP se dispara por clic / toque
message / loadingCompletoCompletoPatrón de punto de montaje (el Mini Programa no tiene document y no puede crear DOM mediante JS)

Restricciones concretas del Mini Programa de WeChat y alternativas ​

RestricciónAlternativa
No admite la etiqueta <svg>Los iconos se convierten en tiempo de compilación a una fuente iconfont (base64 incrustada); se renderizan con <text class="lh-iconfont">
No admite ::placeholderLas props placeholder-style / placeholder-class de input
No admite el comodín *, ni selectores de atributo, ni :not(), ni :nth-*Sanitización en tiempo de compilación: el comodín * se mapea a flex + gap; el resto se sustituye por clases equivalentes
Sin document / document.bodyLas capas flotantes usan root-portal; los servicios imperativos usan el patrón de punto de montaje
Sin semántica de foco por tecladofocus-trap y la navegación por teclado no se invocan, protegidos por LH_IS_H5; los atributos aria siguen emitiéndose para los lectores de pantalla
transitionend no es fiableLas animaciones de entrada y salida usan CSS transition + setTimeout para alinear la duración
En la fase onLoad los componentes aún no se han creadoTodas las llamadas a refs / medición deben hacerse después de onReady

Versión de la base library ​

  • root-portal requiere base library ≥ 2.25.2 (el montaje de las capas flotantes de select / dialog / tooltip depende de él).
  • Las versiones anteriores degradan automáticamente a la alternativa de posicionamiento fixed dentro de la página (decidido por getLhLibVersion()); la capa flotante sigue existiendo, solo que su nivel queda sujeto al flujo de la página.

root-portal y plataformas como DingTalk ​

lh-root-portal usa internamente una compilación condicional en tres ramas: H5 usa <teleport to="body">, WeChat usa <root-portal> y las plataformas que no admiten root-portal, como DingTalk, usan fixed dentro de la página. Es un componente interno; quien usa la biblioteca no necesita preocuparse por él; se documenta aquí únicamente para explicar el origen de las diferencias de comportamiento de las capas flotantes entre plataformas.