Skip to content

原生組件

原生組件

在Luffa小程序平臺開發中,部分組件是由用戶端創建的原生組件,這些原生組件是由小程序用戶端實現的,具有更高的效能和更豐富的功能

  • camera: 相機組件,用於調用監視器拍照或錄影;
  • Canvas: 畫布組件,用於繪製圖形、動畫等;
  • input: 僅在focus時表現為原生組件;
  • textarea: 多行輸入框組件,用於輸入多行文字;
  • video: 視頻組件,用於播放視頻;
  • liver-player: 直播播放機組件,用於播放直播流;
  • map: 地圖組件,用於顯示地圖和地圖上的標記、路線等。

原生組件的使用限制

由於原生組件脫離在WebView渲染流程外,囙此在使用時有以下限制:

  • 原生組件的層級是最高的,所以頁面中的其他組件無論設定z-index為多少,都無法蓋在原生組件上。 後插入的原生組件可以覆蓋之前的原生組件。
  • 原生組件無法在<picker-view>中使用。
  • 部分CSS樣式無法應用於原生組件,例如:
    • 無法對原生組件設定CSS動畫。
    • 無法定義原生組件為position: fixed。
    • 不能在父級節點使用overflow: hidden來裁剪原生組件的顯示區域。
  • 原生組件的事件監聽不能使用bind:eventname的寫法,只支持bindeventname。 原生組件也不支持catch和capture的事件綁定管道。
  • 原生組件會遮擋vConsole彈出的調試面板。

TIP

在工具上,原生組件是用web組件類比的,囙此很多情况並不能很好的還原真機的表現,建議開發者在使用到原生組件時儘量在真機上進行調試。