Skip to content

select 组件的 autoFill 填充对象后,对象的其余属性会被删除 #2900

@wind-stone

Description

@wind-stone

描述问题:

使用 select 组件的 autoFill 属性,当被填充的属性是个对象时,数据能被正确填充,但是被填充的对象的其余属性会被删除。

截图或视频:

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

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

  1. 你是如何使用 amis 的?

npm

  1. amis 版本是什么?

1.3.5-beta.3

BTW,在官网的组件示例里也发生相同的问题,可将下面的代码复制到 https://baidu.github.io/amis/zh-CN/components/form/options#%E8%87%AA%E5%8A%A8%E5%A1%AB%E5%85%85-autofill 里尝试。

  1. 粘贴有问题的完整 amis schema 代码:
{
  "type": "page",
  "body": {
    "type": "form",
    "api": "https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/mock2/form/saveForm",
    "debug": true,
    "body": [
            {
              "type": "input-text",
              "name": "obj.text",
              "label": "obj.text"
            },
            {
              "type": "input-text",
              "name": "obj.value",
              "label": "obj.value"
            },
      {
        "type": "select",
        "label": "选项",
        "name": "select",
        "autoFill": {
          "obj.value": "${label}"
        },
        "clearable": true,
        "options": [
          {
            "label": "Option A",
            "value": "a"
          },
          {
            "label": "Option B",
            "value": "b"
          }
        ]
      }
    ]
  }
}
  1. 操作步骤

先填写 obj.text 这个输入框(比如填入 1234),会得到:

{
  "option": "Option A",
  "select": "a",
  "obj": {
    "value": "Option A",
    "text": "1234"
  }
}

再在 select 里选择一个值,比如 Option A,则得到:

{
  "option": "Option A",
  "select": "a",
  "obj": {
    "value": "Option A"
  }
}

obj 对象里的 text 属性被删除了。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions