百度智能小程序 原生組件說明

2020-08-28 15:36 更新

概念:原生組件是由客戶端創(chuàng)建的原生組件。

包括:canvasmap、animation-view、textarea、cover-viewcover-image、cameravideo、live-player、input 。

其中,video 組件(v3.70.0 起)、input 組件(v3.105.0 起)、textarea(v3.140.1 起支持)和 live-player(v3.140.1 起)已支持同層渲染。

為了解決原生組件層級最高的限制。小程序?qū)iT提供了 cover-view 和 cover-image 組件,可以覆蓋在部分原生組件上面。這兩個組件也是原生組件,但是使用限制與其他原生組件有所不同。

使用限制

由于原生組件脫離在 web-view 渲染流程外,因此在使用時有以下限制:

  • 原生組件的層級是最高的,所以頁面中的其他組件無論設置 z-index 為多少,都無法蓋在原生組件上。后插入的原生組件可以覆蓋之前的原生組件。
  • 原生組件無法在 scroll-view、swiper、picker-view、movable-view 中使用,下面示例為錯誤寫法。

代碼示例: 

在開發(fā)者工具中打開
<view class="wrap">
    <view class="title">橫向滾動</view>
    <scroll-view
        scroll-x
        class="scroll-view"
        bind:scrolltoupper="toLeft"
        bind:scrolltolower="toRight"
        scroll-left="{= scrollLeft =}"
        upper-threshold="1"
        lower-threshold="1"
        bind:scroll="scroll"
    >
        <cover-view class="flex-item demo-text-1"></cover-view>
    </scroll-view>
</view>
  • 部分 CSS 樣式無法應用于原生組件,例如:無法對原生組件設置 CSS 動畫;不能在父級節(jié)點使用 overflow: hidden 來裁剪原生組件的顯示區(qū)域。
  • 在 IOS 下,video 組件暫時不支持觸摸相關事件。
  • 原生組件會遮擋 vConsole 彈出的調(diào)試面板。

在工具上,原生組件是用 web 組件模擬的,因此很多情況并不能很好的還原真機的表現(xiàn),建議開發(fā)者在使用到原生組件時盡量在真機上進行調(diào)試。

同層渲染

同層渲染是為了解決原生組件的層級問題,在支持同層渲染后,原生組件與其它組件可以隨意疊加,有關層級的限制將不再存在。當前 video、input 組件已支持同層渲染。

在同層渲染模式下:

  • 無需使用 cover-view、cover-image 組件來覆蓋同層渲染組件。
  • 可在滾動組件,如 scroll-view、swiper、movable-view 等組件中使用同層渲染組件。
  • 可直接通過 z-index 屬性對同層渲染組件進行層級控制。
  • 同層渲染組件不會遮擋 sConsole 彈出的調(diào)試面板。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號