GetOrgChart使用HTML/CSV数据源时secondParentIdField报错问题
解决GetOrgChart设置二级父节点时的
TypeError: t is undefined问题 嘿,我之前也碰到过类似的坑!你这个报错TypeError: t is undefined,基本上是因为HTML表格/CSV数据源的二级父节点字段处理逻辑和JSON不一样导致的——官方JSON示例里可以只给需要的节点加secondParentId,但表格/CSV是结构化的,空值或者格式不对的话,组件内部识别就会出问题,直接抛出错误。
给你几个亲测有效的解决办法:
1. 先把表格/CSV的无效二级父节点值清理干净
- 要是用HTML表格:那些不需要二级父节点的行,对应的二级父节点单元格直接清空,别填空格或者随便写个占位符,组件碰到空值会自动忽略二级父节点配置;
- 要是用CSV:不需要二级父节点的行,对应的secondParentId列直接留空(就是两个逗号之间啥也没有),别填
0或者null,避免组件把这些当成无效ID去查找。
2. 转成JSON数据源(最稳妥的方案)
既然官方JSON示例能正常跑,不如把你的表格/CSV数据转成JSON结构,只给需要二级父节点的节点加secondParentId字段,不需要的节点干脆不写这个字段。举个例子:
[ { "id": 1, "name": "公司老板" }, { "id": 2, "name": "技术部经理", "parentId": 1 }, { "id": 3, "name": "跨部门协调员", "parentId": 1, "secondParentId": 2 } ]
这种方式完美适配官方的多父节点逻辑,空值问题直接就不存在了,肯定不会再报那个错。
3. 核对配置的字段名是否完全匹配
别小看这个!你初始化组件时写的secondParentIdField字段名,必须和表格/CSV里的列名大小写、拼写完全一致。比如表格列是SecondParentID,但你配置里写的是secondParentId,组件找不到对应字段,就会抛出t is undefined的错误。
另外,你可以打开浏览器开发者工具(按F12),看Console里的报错调用栈,能定位到组件哪一步出问题——比如是不是某个节点的二级父节点ID在数据源里根本不存在,组件找不到对应父节点对象才报错的。
内容的提问来源于stack exchange,提问作者Patrick
相关产品推荐
相关产品推荐

