微信小程序遇到的问题及解决办法

一、根据 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,

    })
  },
发布了17 篇原创文章 · 获赞 1 · 访问量 2736

猜你喜欢

转载自blog.csdn.net/qq_42014265/article/details/96481445
今日推荐