MPX 開發(fā)(微信、支付寶、百度)小程序遇到的問題

兼容性問題

具名插槽,在微信中無法顯示問題

image.png

不管是單個(gè)還是多個(gè)只要使用了具名插槽微信都無法顯示,支付寶就沒問題

在組件中開啟

import { createComponent } from '@mpxjs/core'
createComponent({
  options: {
    multipleSlots: true
  },
)}

switch問題

1、在支付寶中修改checked無效果問題,因?yàn)橹Ц秾氈心J(rèn)是非受控

image.png

添加controlled屬性

<switch controlled="{{true}}" checked="{{checked}}" bindchange="bindchange" color="#007FFF" />

2、switch的change 事件問題,取值方式不同,百度使用e.detail.checked

change(e: any) {
  let checked = e.detail.value
  if (__mpx_mode__ === 'swan') {
     checked = e.detail.checked
  }
}

樣式隔離問題

支付寶是頁面級(jí)樣式隔離,微信和百度實(shí)則使用組件樣式隔離

頁面級(jí)隔離
缺點(diǎn):同一個(gè)頁面中引用多個(gè)組件,如果組件樣式命名相同就會(huì)導(dǎo)致不可預(yù)測(cè)的bug
優(yōu)點(diǎn):樣式復(fù)用,提高開發(fā)效率

組件級(jí)隔離解決了頁面級(jí)隔離的缺點(diǎn)但樣式復(fù)用率也降低了,不過微信提供了為組件開啟全局樣式共享的方法

mpx.createComponent({
  options: {
    // styleIsolation: "apply-shared",
    addGlobalClass: true,
  }
)}

具體參數(shù)參考微信組件樣式隔離文檔

addGlobalClass開啟后百度也可以樣式共享,styleIsolation百度則沒有共享樣式效果,所以推薦使用 addGlobalClass

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容