Skip to content

プラットフォームサポート ​

初版のプラットフォーム範囲 ​

プラットフォーム状態説明
H5✅ 完全すべてのコンポーネントが全機能
WeChat ミニプログラム✅ 完全(一部降格)ポップアップ系コンポーネントのデスクトップ級機能を降格。下表を参照
Alipay / Douyin ミニプログラム🚫 初版では未対応後続で条件コンパイルにより端ごとに検証してから列を追加
App(nvue)🚫 対応しないnvue のレンダリング体系は webview と異なり、ロードマップ外

コンポーネントの機能マトリクス ​

「降格」とは、プラットフォームが対応しない機能をコンパイル期のガードで直接削除すること(ミニプログラムのパッケージにデッドコードを残さない)を指し、ランタイムの失敗ではありません。

コンポーネントH5WeChat ミニプログラム降格戦略 / 説明
config-provider完全完全provide/inject + インライン CSS 変数は全プラットフォームで利用可。ダークは page.dark クラスで切り替え(document なし)
button / tag完全完全—
icon完全完全iconfont フォント方式(Web 版はインライン SVG。下の「icon レンダリング差異」を参照)
input完全完全プレースホルダースタイルは placeholder-style prop 経由(MP は ::placeholder 非対応)
checkbox / radio / switch完全完全view による自前描画(ネイティブコンポーネントを使わず、lh の視覚言語に統一)
form / form-item完全完全バリデーションロジックは core の純関数で、プラットフォーム依存ゼロ
select完全降格root-portal + 2 フレーム計測定位。キーボードナビゲーションは H5 のみ、MP はタップ + scroll-view
dialog完全降格root-portal。focus-trap / lockScroll は H5 のみ、MP はオーバーレイによる遮断でフォールバック
tooltip完全降格2 フレーム計測定位。hover なし、MP 端はタップ / タッチでトリガー
message / loading完全完全マウントポイントパターン(ミニプログラムに document がなく、JS で DOM を作成できないため)

WeChat ミニプログラム固有の制限と代替手段 ​

制限代替手段
<svg> タグ非対応アイコンはコンパイル期に iconfont フォントへ変換(base64 埋め込み)、<text class="lh-iconfont"> でレンダリング
::placeholder 非対応input の placeholder-style / placeholder-class prop
* ワイルドカード / 属性セレクタ / :not() / :nth-* 非対応ビルド時の精製:* ワイルドカードは flex + gap にマッピングし、それ以外は等価なクラス名に置換
document / document.body なしポップアップは root-portal 経由。命令的サービスはマウントポイントパターン
キーボードフォーカスのセマンティクスなしfocus-trap / キーボードナビゲーションは LH_IS_H5 ガードにより呼び出されない。aria 属性はスクリーンリーダー向けに引き続き出力
transitionend が信頼できない進退アニメーションは CSS transition + setTimeout で時間を合わせる
onLoad 段階ではコンポーネントが未生成すべての ref / 計測呼び出しは onReady の後に行う必要がある

WeChat 基礎ライブラリのバージョン ​

  • root-portal には基礎ライブラリ ≥ 2.25.2 が必要(select / dialog / tooltip のポップアップのマウントが依存)。
  • 低いバージョンでは自動的にページ内 fixed 配置のフォールバックに降格(getLhLibVersion() で判定)。ポップアップは残りますが、階層は ページフローの制約を受けます。

root-portal と DingTalk などの端 ​

lh-root-portal は内部で条件コンパイルにより 3 分岐しています:H5 は <teleport to="body">、WeChat は <root-portal>、 DingTalk など root-portal 非対応の端はページ内 fixed。これは内部コンポーネントであり、利用者が気にする必要はありません。 ここに記載しているのは、ポップアップ挙動のプラットフォーム差異の由来を説明するためです。