微信小程序遇到的問題及解決辦法

一、根據 sitemap 的規則[0],當前頁面 [pages/index/automatic/automatic] 將被索引

project.config.json文件中"checkSiteMap": false,

二、[Event] 11 listeners of event AppRoute have been added, possibly causing memory leak.
事件]添加了11個事件偵聽器,可能導致內存泄漏。
目前此問題還沒有解決

三、給定某個類的寬度後,再進行了padding操作,此時寬度變長
需加 box-sizing: border-box; 來使寬度爲給定的寬度而不是進行padding操作後的寬度

四、小程序阻止冒泡事件
將最上層的類加上z-index:999(使其層級最高)
(把“bindtap”改爲“catchtap”就沒問題了。)

五、小程序中獲取數組裏面的某個字段,需要進行修改,然後再放入數組中
1,通過for循環將需要取出的字段取出
2,然後將取出的字段進行修改操作
3,定義一個變量爲此字段
4,將修改後的字段賦值給此定義的字段
list:[] 數組 裏面有一個字段creattime爲例
creattime:2019-7-30 14:00:00 轉換爲7月30日 14:00

 for(var i=0;i<this.data.list.length;i++){
       var kk = this.data.list[i].creattime   //獲取未修改的時間
       var nn = kk.split(" ")  
       var times = nn[0]
       var dates = nn[1]
       var time =times.split("-")
       var year = time[0]
       var month = time[1]
       var day =time[2]
       var date = dates.split(":")
       var hour = date[0]
       var mine = date[1]
       var timedate = month + "月" + day + "日" + " " + hour + ":" + mine  //得到修改後的時間
       var text = 'list[' + i + '].creattime   '   //定義需要修改的字段
       console.log(text)
       this.setData({
         [text]: timedate        //將修改後的時間賦值給此變量
       })
     }

六、預覽文件時,downloadFile下載文件返回的臨時地址是(jpeg ,jpg,msword等格式時),預覽文件失敗的處理辦法

showfile: function(e) {
    var that = this;
   var url = that.data.fileurl[e.currentTarget.dataset.index]
    wx.downloadFile({
      url: url,
      success: function(res) {
        var filePath = res.tempFilePath
        console.log(res)
        var type = url.lastIndexOf(".")
        var filetype = url.substring(type + 1, url.length)
        console.log(type)
        console.log(filetype)
          wx.openDocument({
            filePath: filePath ,
            fileType: filetype,
            success: function (res) {
              console.log('打開文檔成功')
            }
          })
     }
    })
  },

七、textarea層級過高問題(對於頁面中底部fixed定位的按鈕,頁面滾動時)
當獲取焦點時,定義某個值爲false 通過textarea顯示
當失去焦點時,值爲某個值爲true 通過rich-text顯示
wxss:

<textarea class='describe' wx:if="{{!show}}"  placeholder="請輸入您的要求" value='{{textvalue}}' bindinput='textareainput' bindblur="blurinput" data-value='{{textvalue}}'></textarea>

<view wx:if="{{show}}" class="describe">
<rich-text bindtap="show"  nodes="{{textvalue}}">
</rich-text>

js:

 data: {
    textvalue: '',
    show:false
  },
  textareainput(e) {
    console.log(e.detail.value)
    this.setData({
      textvalue: e.detail.value,
     
    })
  },
blurinput(){
this.setData({
show:true
})
  },

 show(){
    this.setData({
      show:false,

    })
  },

八、小程序分包問題
官方文件
注意:subPackages 大小寫
如果分包大於2M時,發佈會失敗
uniapp編譯成小程序時,可以選擇:運行—>運行到小程序模擬器—>運行時是否壓縮代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章