????????在第47章的操作中,涉及到分類的添加、刪除和更新功能,但發現uni-popup組件存在bug。該組件的函數接口錯誤導致在小程序中出現以下問題:1. 點擊修改肉類名稱時,回調顯示為空,并報錯“setVal is not defined”,在H5和微信開發工具中均出現此問題,但H5中能顯示肉類名稱;2. 點擊新增時,出現與現象1相同的錯誤。通過解析日志,發現錯誤是由于setVal函數未定義導致的。經過修改,在該文件中明確定義setVal函數,問題得以解決。這表明uni-popup組件在回調處理上存在缺陷,需修復以確保功能正常運行。官方還需進一步優化uniapp,提升其穩定性和功能性。
1、現象
1.1、第一個
這里點擊修改肉 的名稱 ,但是回調顯示到popup上,為空。如下圖,并報錯。
無論是在h5 web 還是微信開發工具都報錯,在微信開發工具,上還不能將點擊的 肉 顯示。
在h5 web 能顯示 肉? 。
[Vue warn]: Error in callback for watcher "value": "ReferenceError: setVal is not defined"found in---> <UniPopupDialog> at uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue<UniPopup> at uni_modules/uni-popup/components/uni-popup/uni-popup.vuepages_manage/category/category.vue
1.2、第二個
點擊新增時,也會和1的現象一樣。報同樣的錯。
2、通過解析讀取日志分析
Error in callback for watcher "value": "ReferenceError: setVal is not defined",表示是有一個值setval沒有被定義。
提示是在
<UniPopupDialog> at uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue
以及:
<UniTransition> at uni_modules/uni-transition/components/uni-transition/uni-transition.vue
3、找到該vue文件
發現該文件中,setval 沒有明確定義或表明是來自于哪里。導致警告。并影響在另外的平臺執行。
4、進行修改
在該文件中,方法這里就定義了setval函數,這里就改寫為this.setval就好。
再次執行,問題解決。soeasy,看起官方還要加油,uniapp還需做大做強。