uni-app schema2code生成uni-admin模板无法删除数据问题【已解决】#插件讨论# schema2code - DCloud前端团队

uni-app schema2code生成uni-admin模板无法删除数据问题【已解决】#插件讨论# schema2code - DCloud前端团队

疑似bug->批量操作及:

  • schema[opendb-banner] 进行 schema2code to uni-admin(page模式或者moudle模式均已试过)
  • 运行->内部浏览器(必须注意manifest.json 中Vue版本需配置为2,否则会导致方法 selectionChange(e) 失效,具体表现为this.selectedIndexs不能赋值,一直保持为[])
  • 页面点击删除按钮,一直转等待图标.
  • 页面选择多项,点击批量删除,一直转等待图标.

看大家有否遇到类似情况?或者有否解决方式?

后台报错记录

[system]TypeError: Cannot read property '0' of undefined  
    at VueComponent.mainCollection (http://localhost:8080/admin/static/js/pages-opendb-banner-list~pages-system-app-list~pages-system-menu-list~pages-system-permission-list~p~fedc02d9.js:267:27)  
    at Watcher.get (http://localhost:8080/admin/static/js/chunk-vendors.js:6088:25)  
    at Watcher.evaluate (http://localhost:8080/admin/static/js/chunk-vendors.js:6193:21)  
    at VueComponent.computedGetter [as mainCollection] (http://localhost:8080/admin/static/js/chunk-vendors.js:6443:17)  
    at VueComponent._execRemove (http://localhost:8080/admin/static/js/pages-opendb-banner-list~pages-system-app-list~pages-system-menu-list~pages-system-permission-list~p~fedc02d9.js:690:28)  
    at Function.success (http://localhost:8080/admin/static/js/pages-opendb-banner-list~pages-system-app-list~pages-system-menu-list~pages-system-permission-list~p~fedc02d9.js:483:18)  
    at http://localhost:8080/admin/static/js/chunk-vendors.js:14371:85306  
    at Object.j [as callback] (http://localhost:8080/admin/static/js/chunk-vendors.js:14371:88156)  
    at b (http://localhost:8080/admin/static/js/chunk-vendors.js:14371:88993)  
    at VueComponent.onModalCloseCallback (http://localhost:8080/admin/static/js/chunk-vendors.js:14371:20588)

更多关于uni-app schema2code生成uni-admin模板无法删除数据问题【已解决】#插件讨论# schema2code - DCloud前端团队的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

更新 schema2code 插件到 0.5.2

更多关于uni-app schema2code生成uni-admin模板无法删除数据问题【已解决】#插件讨论# schema2code - DCloud前端团队的实战教程也可以访问 https://www.itying.com/category-93-b0.html


谢谢HDX大大。 刚才已经更新后测试,恢复正常。谢谢。 后续看能否增加一个插件版本回退的功能。针对闭源插件的bug,能解燃眉之急。 望采纳。

这个问题是由于schema2code生成的uni-admin模板中mainCollection计算属性未正确处理数据导致的。从错误信息Cannot read property '0' of undefined可以看出,代码试图访问一个未定义数组的第一个元素。

解决方案:

  1. 检查schema配置:确保opendb-banner表的schema中permission字段配置正确,特别是删除权限部分。

  2. 修改生成代码:在生成的列表页面中,找到mainCollection计算属性,添加空值判断:

computed: {
  mainCollection() {
    // 添加空值判断
    if (!this.collection || !this.collection.data) {
      return []
    }
    return this.collection.data
  }
}
  1. 检查删除方法:在_execRemove方法中,确保在调用删除前验证数据有效性:
_execRemove(row) {
  if (!row || !row._id) {
    uni.showToast({ title: '数据异常', icon: 'none' })
    return
  }
  // 原有删除逻辑
}
回到顶部