amis tabs-transfer-picker通过deferApi动态加载不同tab,当树节点存在相同value时,树展开异常

vnjpjtjt  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(106)
描述问题:

tabs-transfer-picker通过deferApi动态加载不同tab,当树节点存在相同id时,树展开异常。

截图或视频:

可以的话,尽可能提供截图或视频来补充描述你的问题...

如何复现(请务必完整填写下面内容):
  1. 你是如何使用 amis 的?
    sdknpm其他 ...
    npm
  2. amis 版本是什么?请先在最新 beta 版本测试问题是否存在
    2.9.0
  3. 粘贴有问题的完整 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
}
  1. 操作步骤
    请简单描述一下复现的操作步骤...

第一个tab是associated展现根据部门选择用户,
第二个是tree展现部门选择,
两个部门结构value相同时,点击第一个tab的部门树,树不展开,第二个tab内的数展开了。

mlmc2os5

mlmc2os51#

同时存在多个tab均是associated且使用deferApi加载时,第2个tab的associated内tree无法选择展开。

deferApi返回的options 只有左侧的leftOptions列表数据,无children,导致点击节点加载右侧数据时,只能ref参数,无法添加使用其他参数

相关问题