查看: 10300|回复: 3

setData()引起的错误

升级   0.04%

149

主题

189

回帖

4

积分

注册会员

Rank: 2

积分
4
发表于 2022-10-26 11:30:05 | 显示全部楼层 |阅读模式
本帖最后由 szjazz 于 2022-10-26 11:32 编辑

datatable没有resetData()方法来清除所有的行记录,改用管理员推荐的方法setData({}),在紧跟的语句中用到for循环语句出错

代码:
[JavaScript] 纯文本查看 复制代码
var dtDetail=this.data.datatable_detail.data;
this.form.get("datatable").setData({});
var dtSub=this.data.datatable.data;
for(var j=0;j<dtSub.length;j++){


F12的错误:

难道是datatable空行了,也就不存在length属性值了?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-10-26 16:01:25 | 显示全部楼层
是,您set空了,this.data.datatable.data这里就没获取到了,就没有length了,您可以跟踪一下获取到的数据就能看出来了
回复

使用道具 举报

升级   0.04%

149

主题

189

回帖

4

积分

注册会员

Rank: 2

积分
4
发表于 2022-10-27 10:40:03 | 显示全部楼层
论坛管理员 发表于 2022-10-26 16:01
是,您set空了,this.data.datatable.data这里就没获取到了,就没有length了,您可以跟踪一下获取到的数据 ...

1、setData空了,那么this.data.datatable.data数据对象应该存在着啊
2、可是为什么通过一行行的删除方法来清空数据,下方的循环却可以引用length,没有报错?
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2022-10-27 16:13:38 | 显示全部楼层
您F12跟踪一下就很清楚了,你set的是{},没有data,所以取不到。一行一行删除,删掉的是data里面的数据,不是把data删掉了
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread