Skip to content

combo下的service数据域污染问题 #14059

Description

@thinkingc

描述问题:

combo值通过input-tree切换之后,service的值被上一个combo内的表单污染。

Image

截图或视频:

如何复现(请务必完整填写下面内容):

  1. 你是如何使用 amis 的?
    npm

  2. amis 版本是什么?请先在最新 beta 版本测试问题是否存在
    最新站点

  3. 粘贴有问题的完整 amis schema 代码:

{
  "type": "page",
  "body": {
    "type": "form",
    "debug": true,
    "data": {
      "key": 1
    },
    "id": "comboform",
    "api": "https://aliyunfc-amis-mock-gmecwxibod.cn-beijing.fcapp.run/api/amis-mock/mock2/form/saveForm",
    "mode": "horizontal",
    "body": [
      {
        "type": "input-tree",
        "name": "activeInfo",
        "label": "Tree",
        "joinValues": false,
        "options": [
          {
            "label": "Folder A",
            "value": 1,
            "combo101": [
              {
                "default": true,
                "comboindex": 0
              }
            ]
          },
          {
            "label": "file C",
            "value": 4,
            "combo101": [
              {
                "default": true,
                "comboindex": 0
              }
            ]
          },
          {
            "label": "file D",
            "value": 5,
            "combo101": [
              {
                "default": true,
                "comboindex": 0
              }
            ]
          }
        ],
      },
      {
        "type": "combo",
        "name": "activeInfo.combo101",
        "label": "Tabs模式",
        "activeKey": "${comboindex|toInt}",
        "multiple": true,
        "multiLine": true,
        "strictMode": false,
        "reverseMode": true,
        "tabsLabelTpl": "${default ? '默认规则' : '规则' + (index+1)}",
        "visibleOn": "${activeInfo}",
        "tabsMode": true,
        "subFormMode": "horizontal",
        "subFormHorizontal": {
          "labelWidth": 100
        },
        "items": [
          {

            "type": "service",
            "id": "service_id",
            "api": "https://aliyunfc-amis-mock-gmecwxibod.cn-beijing.fcapp.run/api/amis-mock/mock2/crud/table4",
            "data": {
              "BELONG_DOMAIN_MAP": {},
            },
            "body": [
              {
                "type": "group",
                "body": [
                  {
                    "name": "test",
                    "label": "字段",
                    "type": "input-text",
                    "placeholder": "组件配置",
                    "required": true
                  }
                ]
              },
              {
                "type": "group",
                "visibleOn": "${!test}",
                "body": [
                  {
                    "name": "c",
                    "label": "visible字段",
                    "type": "input-text",
                    "placeholder": "组件配置",
                    "required": true
                  }
                ]
              },
            ]
          }
        ]
      }
    ]
  }
}
  1. 操作步骤
    1、点击input-tree的”Folder A"
    2、combo的”字段“输入”a“
    3、切换input-tree为“file C"
    4、此时Combo数据域和下面输入框展示的对不上
Image Image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions