小程序原生組件使用限制

小程序當中多個原生組件顯示問題

最近在開發(fā)小程序的過程中。使用到小程序地圖組件,地圖全頁展示馍忽,在地圖上展示其他組件,其他組件可能不展示的問題燕差。

關于原生組件使用原則遭笋,使用微信小程序使用規(guī)則:

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

原生組件的層級是最高的徒探,所以頁面中的其他組件無論設置 z-index 為多少瓦呼,都無法蓋在原生組件上。
后插入的原生組件可以覆蓋之前的原生組件测暗。
原生組件還無法在 <picker-view> 中使用央串。
基礎庫 2.4.4 以下版本,原生組件不支持在 <scroll-view>碗啄、<swiper>质和、<movable-view> 中使用。
部分CSS樣式無法應用于原生組件挫掏,例如:
無法對原生組件設置 CSS 動畫
無法定義原生組件為 position: fixed
不能在父級節(jié)點使用 overflow: hidden 來裁剪原生組件的顯示區(qū)域
原生組件的事件監(jiān)聽不能使用 bind:eventname 的寫法侦另,只支持 bindeventname。原生組件也不支持 catch 和 capture 的事件綁定方式尉共。
在iOS下褒傅,原生組件暫時不支持觸摸相關事件。
原生組件會遮擋 vConsole 彈出的調(diào)試面板袄友。
在工具上殿托,原生組件是用web組件模擬的,因此很多情況并不能很好的還原真機的表現(xiàn)剧蚣,建議開發(fā)者在使用到原生組件時盡量在真機上進行調(diào)試支竹。

在這兒解釋下以下組件作用旋廷。

Mapz為地圖組件,頁面全屏展示地圖組件礼搁。

Pointer地圖上彈窗顯示饶碘,默認隱藏

ShareComponent分享頁面入口按鈕,該頁面為倒計時

Notification跑馬燈信息展示

isDebug 控制頁面是否顯示地圖組件

正確代碼展示

render() {
    // jsx eslint
    const { enlData, isOpened } = this
    const isDebug = this.debugVersion
    return (
      <View className='index'>
        {
          isDebug ? <Version></Version> : (
            <Block>
              <Mapz onClickMarker={this.onClickMarker.bind(this)} ></Mapz>
              <CoverView className='push_enl' onClick={this.onNavigate.bind(this)}>
                <CoverImage src={enl}></CoverImage>
              </CoverView>
              <Pointer elData={enlData} onClose={this.onPointerClose.bind(this)} isOpened={isOpened} onConfim={this.onConfim.bind(this)}></Pointer>
              <ShareComponent></ShareComponent>
              {/* <Notification className='center'></Notification> */}
            </Block>
          )
        }
      </View>
    )
  }

視圖展示:


image

上面的代碼馒吴,將地圖與地圖上顯示的浮層放在一起扎运,顯示無問題.....但是,如果將地圖層上的浮層與地圖組件分離開布局饮戳,如以下代碼

  render () {
    // jsx eslint
    const { enlData, isOpened } = this
    const isDebug = this.debugVersion
    return (
      <View className='index'>
    
          {
            isDebug?<Version></Version>:<Mapz  onClickMarker={this.onClickMarker.bind(this)} ></Mapz>
          }
          
          {
            !isDebug && <CoverView className='push_enl' onClick={this.onNavigate.bind(this)}>
                <CoverImage src={enl}></CoverImage>
            </CoverView>
          }
          <Pointer elData={enlData} onClose={this.onPointerClose.bind(this)} isOpened={isOpened} onConfim={this.onConfim.bind(this)}></Pointer>
          <ShareComponent></ShareComponent>
          <Notification className='center'></Notification>
      </View>
    )
  }

同之前不同的是豪治,isDebug將根據(jù)情況顯示地圖組件與發(fā)紅包按鈕。其他組件直接展示扯罐。负拟。

在此時頁面展示如下:

小程序原生組件.png

現(xiàn)在NotificationshareComponent組件已經(jīng)消失不見了。歹河。掩浙。那么為什么會這樣呢?

根據(jù)實際問題反饋:出現(xiàn)這樣的問題原因在與启泣,Mapz的顯示是通過isdebug來決定的,而isDebug的值可能會通過setState進行改變造成重新渲染頁面涣脚。因此mapz可能會在其他組件之后渲染;在Mapz渲染之前寥茫,shareComponet組件已經(jīng)在Mapz組件之前渲染了遣蚀,所以導致shareComponent組件被Mapz組件所遮蓋的問題。因而得出以下結(jié)論:

原生組件的先后順序不是布局上的先后順序纱耻,而是渲染的先后順序芭梯;后渲染的組件將會覆蓋之前的組件與代碼布局邏輯上的出現(xiàn)先后無關

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市弄喘,隨后出現(xiàn)的幾起案子玖喘,更是在濱河造成了極大的恐慌,老刑警劉巖蘑志,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件累奈,死亡現(xiàn)場離奇詭異,居然都是意外死亡急但,警方通過查閱死者的電腦和手機澎媒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來波桩,“玉大人戒努,你說我怎么就攤上這事「涠悖” “怎么了储玫?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵侍筛,是天一觀的道長。 經(jīng)常有香客問我撒穷,道長匣椰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任桥滨,我火速辦了婚禮窝爪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘齐媒。我一直安慰自己,他們只是感情好纷跛,可當我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布喻括。 她就那樣靜靜地躺著,像睡著了一般贫奠。 火紅的嫁衣襯著肌膚如雪唬血。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天唤崭,我揣著相機與錄音拷恨,去河邊找鬼。 笑死谢肾,一個胖子當著我的面吹牛腕侄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芦疏,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼冕杠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了酸茴?” 一聲冷哼從身側(cè)響起分预,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎薪捍,沒想到半個月后笼痹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡酪穿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年凳干,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昆稿。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡纺座,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出溉潭,到底是詐尸還是另有隱情净响,我是刑警寧澤少欺,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站馋贤,受9級特大地震影響赞别,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜配乓,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一仿滔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧犹芹,春花似錦崎页、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至屿笼,卻和暖如春牺荠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驴一。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工休雌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肝断。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓杈曲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親孝情。 傳聞我的和親對象是個殘疾皇子鱼蝉,可洞房花燭夜當晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件箫荡、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,117評論 4 61
  • 我喜歡在兩個地方寫東西,我的辦公桌和我的床绞灼。一般在深夜我的效率都會比較高利术,而且我習慣了坐在床上看書,去自習室其實效...
    aya1212閱讀 1,470評論 0 0
  • 北京的八月依然悶熱無比低矮,不依靠空調(diào)簡直不能活的節(jié)奏印叁,出門一分鐘就會渾身大汗。 這月好多學生也進入暑假模式。女兒的幼...
    有游有謀親子營閱讀 222評論 1 5
  • 安全感可能是談戀愛或者是肥皂劇里面出場比較多的一個詞轮蜕,但是我們在生活中其它方面對他的追逐隨處可見昨悼。我們追求的穩(wěn)定、...
    鄢中堡閱讀 322評論 0 1