描述问题:
tabs-transfer-picker通过deferApi动态加载不同tab,当树节点存在相同id时,树展开异常。
截图或视频:
可以的话,尽可能提供截图或视频来补充描述你的问题...
如何复现(请务必完整填写下面内容):
- 你是如何使用 amis 的?
sdk
、npm
或其他
...
npm - amis 版本是什么?请先在最新 beta 版本测试问题是否存在
2.9.0 - 粘贴有问题的完整
amis schema
代码:
{
"label": "选人",
"type": "tabs-transfer-picker",
"name": "a",
"sortable": true,
"selectMode": "tree",
"menuTpl": "<div class='flex justify-between'><span>${label}</span>${email ? `<div class='text-muted m-r-xs text-sm text-right'>${email}<br />${phone}</div>`: ''}</div>",
"valueTpl": "${label}(${value})",
"deferApi": "/defer_load&ref=${ref}&dep=${value}",
source: "/source_load"
}
source_load返回:
{
"msg": "执行成功",
"data": {
"options": [
{
"leftMode": "tree",
"children": [
{
"ref": "1",
"defer": true
},
{
"ref": "2",
"defer": true
}
],
"selectMode": "associated",
"leftOptions": [
{
"value": "1",
"label": "部门A",
"defer": true
},
{
"value": "2",
"label": "部门2",
"defer": true
}
],
"label": "用户",
"searchable": "true"
},
{
"children": [
{
"value": "1",
"label": "部门A",
"defer": true
},
{
"value": "2",
"label": "部门2",
"defer": true
}
],
"selectMode": "tree",
"label": "部门"
}
]
},
"status": 0
}
defer_load当dep=1时
{
"msg": "执行成功",
"data": {
"options": [
{
"value": "3",
"label": "二级部门1-1"
},
{
"value": "4",
"label": "二级部门1-2"
}
]
},
"status": 0
}
- 操作步骤
请简单描述一下复现的操作步骤...
第一个tab是associated展现根据部门选择用户,
第二个是tree展现部门选择,
两个部门结构value相同时,点击第一个tab的部门树,树不展开,第二个tab内的数展开了。
1条答案
按热度按时间mlmc2os51#
同时存在多个tab均是associated且使用deferApi加载时,第2个tab的associated内tree无法选择展开。
deferApi返回的options 只有左侧的leftOptions列表数据,无children,导致点击节点加载右侧数据时,只能ref参数,无法添加使用其他参数