微信小程式的一些坑一些總結(持續更新)

2021-10-24 04:04:34 字數 1782 閱讀 2869

彈出框被原生元件遮擋的問題可以在彈出框中使用cover-view來代替view,但是這會導致彈出框的顯示效果發生變化,需要修改彈出框的樣式。更好的替代方法是:如果原生元件是canvas,可以在彈出對話方塊時用image代替canvas。例子如下:

布局

"charimg"

:src=

"charimgpath"

class

="charts"

>

<

/image>

"!charimg" canvas-id=

"canvaslinea" id=

"canvaslinea"

class

="charts" @touchstart=

"touchlinea"

>

<

/canvas>

js

showcharimg()

,fail

(err)},

this);

},

如果原生元件是textarea則可以使用view來代替

"gethiddentextarea&¤t==itemindex"

class

="remark-input"

>

}<

/view>

else

class

="remark-input" v-model=

"tempdata[itemindex].remark" placeholder=

"請輸入說明(選填)" auto-height type=

"text" maxlength=

200/

>

之所以有這個問題,是因為ios全面屏的高度是包含底部黑色橫條的,而其他全面屏手機是不包括的。所以,如果有控制項需要使用距離手機螢幕底部的絕對定位,則需要對ios全面屏進行適配。目前判斷是否為ios全面屏比較好的做法是:先判斷系統是否為ios,再判斷狀態列高度是否大於20。目前非全面屏iphone的狀態列都是20px,全面屏iphone為44px。現在不能簡單地判斷手機名字是否帶iphonex來適配了,因為出了iphone 11。

function

getiosfullscreen

(callback)

else}}

)}

在使用如下日期格式轉換為時間戳時,蘋果手機會轉換失敗。

new

date

("2020-08-17 15:57:27").

gettime()

;//蘋果手機結果為nan,安卓能正常轉換為時間戳

解決方法:將"yyyy-mm-dd hh:mm:ss"轉為"yyyy/mm/dd hh:mm:ss",然後再使用上面的方法,**如下:

let str =

"2020-08-17 15:57:27"

.replace

(/-/g

,'/'

)let timestamp =

newdate

(str)

.gettime()

;

removeallfile()

` fm.

readdir()

;})}

,fail

(err)

,complete()

})})

;},

微信小程式使用async await的一些技巧

在小程式onload事件中使用getitems this 和this.getitems getitems this 對應的方法為 this.getitems 對應的方法為 在getitems this 中使用await獲取的返回資料在除錯狀態是undefined,但是下面是能用的 在this.get...

微信支付上的一些坑

解決辦法 將商品的 按小數點為區分標識將 分成兩部分,然後再拼接起來 nsarray total fee arr total fee test componentsseparatedbystring nsstring total fee nsstrin stringwithformat total ...

關於微信支付的一些坑

1.報 2.wxpayentryactivity是否在 包名.wxapi 下 3.androidmanifest下請設定如下屬性 android exported true android launchmode singletop stringbuilder sb new stringbuilder...