小程序開發(fā)常見問題解決方法

1 阻止事件冒泡

//catchtap替換bindtap
<view bindtap='goDetails'>
    <!-- catchtap:可阻止冒泡事件,這樣就不會(huì)同時(shí)執(zhí)行兩個(gè)事件 -->
    <text class="btn" catchtap='btnClick'>點(diǎn)擊操作</text>
  
</view>

2 wx.previewImage點(diǎn)擊顯示大圖(放大黑屏解決)

//wxml
 <view class="imgBox" >

      <image wx:for="{{imagesList}}"  wx:key="index"  src='{{imgPprefix}}{{item}}' data-index="{{index}}" bindtap="previewImg" ></image>

    </view>
 async previewImg(e) {
  let index = e.currentTarget.dataset.index; //獲取點(diǎn)擊圖片的index
  const{imgPprefix,urls:imagesList}=this.data

    await wx.previewImage({
      urls:imagesList.map(url=>{return `${imgPprefix}${url}`}), //需要預(yù)覽的圖片http(https)鏈接列表,注意是數(shù)組,imgPprefix是后端返回圖片要拼的前綴
      current: `${imgPprefix}${urls:imagesList[index]}`, // 當(dāng)前顯示圖片的http鏈接,默認(rèn)是第一個(gè),有index就從index開始
    })

//點(diǎn)擊顯示大圖時(shí)圖片沒出來,一直轉(zhuǎn)圈,但打印路徑可以正常訪問可能原因: 
//1: 后端返回的數(shù)據(jù)開頭可能有空格,但是用打印出來的鏈接瀏覽器忽略了造成的
//2: 給urls 加前綴時(shí),忽略了是個(gè)數(shù)組,直接拼接的

  },

3 自動(dòng)填充input或textarea值

       <textarea value="{{inputText}}"></textarea>
//只需要綁定一個(gè)value屬性,inputText是js文件中data內(nèi)需要填充的數(shù)據(jù)

4 發(fā)送給后端code 報(bào)錯(cuò)code無效

可能是前端的appId和后端的appId不一致造成,粗心忘了換的!在project.config.json 文件夾內(nèi)修改appid 和后端統(tǒng)一,如果是測試號(hào)開發(fā)的話,不要通過右上角詳情里去修改,因?yàn)槲揖统霈F(xiàn)了顯示修改成功,實(shí)則沒有修改


不要嘗試這樣修改

在這里修改

5 觸底加載沒反應(yīng)

1 、配置問題
2、加載列表外層盒子設(shè)置了高度,導(dǎo)致高度不夠觸底

6 綁定點(diǎn)擊事件沒有觸發(fā)

原因是綁定的函數(shù)后面多加了空格


提示警告
  <view >
    <view class="button" bindtap="onCancelBtn">取消授權(quán)</view>
  </view>

點(diǎn)擊事件使用bindtap 會(huì)事件冒泡,出現(xiàn)多個(gè)點(diǎn)擊事件,不需要的話可以改成catchtap

7 引入Vant 日歷組件點(diǎn)擊關(guān)閉按鈕不能隱藏
當(dāng)引入Vant日歷組件時(shí),出現(xiàn)了不選擇日期就不能隱藏日歷的問題,點(diǎn)擊關(guān)閉按鈕和背景模態(tài)框會(huì)回縮一點(diǎn)又彈出,原因是把組件代碼包裹在其它標(biāo)簽內(nèi),把代碼單獨(dú)拿出即可,給之前包裹的標(biāo)簽綁定事件即可實(shí)現(xiàn)選取隱藏.

7 小程序內(nèi)插入html代碼片段

//wxml文件
<rich-text nodes="這里放你要的html代碼"></rich-text>

8 使用getUserProfile接口報(bào)錯(cuò)原因

//報(bào)錯(cuò):wx.getUserProfile is not a function

使用要求:
1.開發(fā)者工具版本不低于 1.05.2103022
2.基礎(chǔ)庫版本不低于 2.10.4

原因: 開發(fā)者工具上基礎(chǔ)庫版本太低,修改一下即可
image.png

9 分享小程序給好友,朋友圈

在需要分享的頁面js的onLOad 或 onShow 生命周期內(nèi)調(diào)用 wx.showShareMenu() 開啟分享按鈕

   wx.showShareMenu({
      withShareTicket:true,
      menus:['shareAppMessage','shareTimeline']
      })

10 檢查手機(jī)號(hào)、郵箱格式是否正確

function examinePhone(phone){
          if(!phone){
          console.log("手機(jī)不能為空")

             }else  if(!/^1[3456789]\d{9}$/.test(phone)){

            console.log("手機(jī)格式不正確")
              }
},
function examineEmail(email){
        let reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/ //驗(yàn)證郵箱正則
       if(!reg.test(email)){
                console.log('郵箱格式不正確!')
          }
}


11 手機(jī)端預(yù)覽項(xiàng)目時(shí),請求沒有執(zhí)行,但是打開控制面板則請求執(zhí)行且成功

原因: 可能是沒有在公眾平臺(tái)配置域名導(dǎo)致的,之所以打開控制面板就能請求是因?yàn)殚_發(fā)者工具本地設(shè)置的不校驗(yàn)合法域名的原因

12 微信審核上線不通過,客服反饋的問題,體驗(yàn)版不能復(fù)現(xiàn)?

這個(gè)問題真的需要記錄一下,最近一個(gè)uniapp開發(fā)的項(xiàng)目需要審核上線,但每次都不允通過,反饋的問題都說登錄功能不符合規(guī)范要求;因?yàn)橹笆且贿M(jìn)入頁面就要求登錄;
后來調(diào)整代碼后,按照官方規(guī)范,體驗(yàn)完整流程后再自愿登錄;測試沒問題,發(fā)布版本,等待審核;
但每次都被駁回,理由是一進(jìn)頁面就要求登錄,就很氣,和同事測試過都沒問題,一度懷疑官方看的是舊版本代碼,或者有緩存,咨詢客服又說清空了緩存,換了設(shè)備,都是需要登錄;
后來經(jīng)過很長的測試,終于發(fā)現(xiàn),直接從發(fā)現(xiàn)欄進(jìn)入的首頁就是登錄頁;而掃碼進(jìn)入的是index頁面,真正的首頁;
我們測試時(shí)都是直接掃體驗(yàn)碼進(jìn)入的,沒問題,但是兩種情況的場景值不同,加上pages.json頁面,登錄頁放在第一位,就導(dǎo)致了從發(fā)現(xiàn)欄一打開就需要登錄的情況;
解決: 將pages.json頁面,首頁放在第一位即可;
總結(jié): 問題說大不大說小不小,卻浪費(fèi)了很多的時(shí)間,也算是長了一回見識(shí)了哈哈

13 使用fixed布局,安卓正常顯示,ios樣式消失

解決: 不要用fixed布局....爛娃兒ios; 不算解決方案哈哈,僅僅記錄踩坑的原因,因?yàn)闃邮揭呀?jīng)在代碼上運(yùn)用上了,就是沒效果,很懵

14 小程序監(jiān)聽用戶右上角的關(guān)閉行為

//app.js  文件  監(jiān)聽程序的關(guān)閉事件 通過獲取當(dāng)前頁面來判斷是否是你需要監(jiān)聽的頁面
  onHide(e) {
    let pages = getCurrentPages();
      if (pages['0'].route == '想要知道是否為此頁面的關(guān)閉路徑') {
      console.log('隱藏')
    }
  },
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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