社區(qū)官方列出的常見問題:小程序常見問題匯總
下面是本人在項目中遇到的一些問題模聋,或附上解決思路:
框架相關
- 頁面標題:
navigationBarTitleText
→defaultTitle
爷肝。
組件
- wx.showModal役首,在支付寶小程序上拆分為 my.alert 和 my.confirm , 交互反饋
- canvas:
API
微信支付:
wx.request()
→my.httpRequest()
,二者參數(shù)不一致。緩存:
wx.setStorageSync(string key, any data)
→my.setStorageSync({key: key, data: value})
瘟滨,getStorageSync 和 removeStorage 也類似。wx.showToast 關于 loading 的要改成:my.showLoading
my.showToast( ) 內容屬性能颁,微信小程序是title
杂瘸,支付寶小程序是content
,且沒有mask
屬性伙菊。form 組件事件:bindreset → onReset败玉、 bindsubmit → onSubmit
input、textarea 組件事件:bindinput → onInput镜硕、bindblur → onBlur运翼、bindfocus → onFocus
canvas 組件事件:onTouchstart → onTouchStart、onTouchmove → onTouchMove兴枯、onTouchend → onTouchEnd
組件屬性:canvas-id → id
div血淌,span 標簽在支付寶小程序都不支持,改成 view财剖、text 標簽即可悠夯。
撥打電話
微信:wx.makePhoneCall({ phoneNumber: '020-11183' });
支付寶:my.makePhoneCall({ number: '020-11183' });
my.alert(object) 沒有“取消”按鈕,以及“確定”按鈕的鍵為:buttonText
支付寶小程序中躺坟,如果標簽中寫了兩個或以上
class
屬性沦补,只能讀取第一個,可能是 bug咪橙!(請忽略夕膀,跟支付寶小程序無關)一些字段改變:
wxChannel → aliChannel
updateWxUserChannel → updateAliUserChannelcheckbox 組件的改變事件屬性為:onChange=“changeFn”
my.getImageInfo 有兼容性的問題虚倒,需要做處理。在聯(lián)想手機上有問題产舞,可能是因為支付寶 APP 版本過低的原因
在支付寶小程序 my.uploadFile 接口中魂奥,不需要把頭部信息設為 header: { "Content-Type": "multipart/form-data" } ,這個可能導致個別機型接口返回數(shù)據(jù)錯誤庞瘸,導致無法正常顯示圖片捧弃。而微信小程序 wx.uploadFile 中赠叼,如果發(fā)起 POST 請求擦囊,則需要把頭部信息設成上面那樣。
this.setData() 方法嘴办,從 1.7.0 版本開始瞬场,setData可以接受傳遞一個回調函數(shù),該回調函數(shù)會在頁面渲染之后執(zhí)行涧郊。使用
my.canIUse('page.setData.callback')
做兼容性處理
my.httpRequest API 接口失敗返回的錯誤碼描述有誤贯被,官方已確認,待修正妆艘!my.httpRequest
picker 中只能含有一個子元素彤灶。若多個元素,需要用 view 括起來批旺,否則不顯示幌陕。
(請忽略,非支付寶 api )去掉函數(shù) compareAppVersionToTarget 和 compareWxVersion
多個空格的問題:
<!-- 微信小程序支持汽煮,但低版本的支付寶客戶端不兼容這種寫法 -->
<text decode="{{true}}" space="nbsp"> </text>
<!-- 兼容低版本支付寶客戶端的寫法 -->
<text style="white-space: pre-wrap">{{' '}}</text>
CSS3 為 white-space 新增了pre-line 和 pre-wrap 屬性搏熄,前者會將多個空格合成一個,后者會保留所有空格暇赤。詳情可以看一下這篇文章:white-space中 pre pre-line pre-wrap的區(qū)別心例。
文件下載的相關接口,成功回調里的路徑:res.tempFilePath → res.apFilePath
適配 iPhone X 導航的需要修改鞋囊,支付寶里
my.getSystemInfo
獲取的res.model
值不一樣止后。刪除地址的彈窗:wx.alert() 要改成 my.confirm()。
業(yè)務相關
- 訂單詳情頁面
支付時間
字段