原生組件
原生組件
在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組件類比的,囙此很多情况並不能很好的還原真機的表現,建議開發者在使用到原生組件時儘量在真機上進行調試。