baidu / amis

前端低代码框架,通过 JSON 配置就能生成各种页面。
https://baidu.github.io/amis/
Apache License 2.0
17.43k stars 2.53k forks source link

input-table 在执行 addItem 动作的时候 会触发 显示空的"操作"列 #10271

Open RoosterZhao opened 6 months ago

RoosterZhao commented 6 months ago

我用 sdk 的方式使用 amis,版本是 v6.3.0 利用 amisScoped 对象执行 addItem 的动作,会导致多出来一个空的 操作 列 image image

请参照如下代码

<body>
  <div id="root" class="app-wrapper"></div>
  <script type="text/javascript">
    let pageSchema = {
      "type": "page",
      "data": {
        "table": [
          {"a": "a1", "b": "b1" },
          { "a": "a2", "b": "b2"}
        ]
      },
      body: [
        {
          "type": "form",
          "title": "",
          "actions": [],
          "body": [
            {
              "type": "input-table",
              "name": "table",
              "id": "addItem-input-table",
              "columns": [
                {
                  "label": "",
                  "type": "tpl",
                  "tpl": "hello $a, let me try $b!"
                }
              ]
            }
          ]
        }
      ]
    }

    let amis = amisRequire('amis/embed');
    window.__amisScoped = amis.embed('#root', pageSchema);
  </script>
  <script>
      function test1() {
        __amisScoped.doAction(
          [
            {
              actionType: 'addItem',
              componentId: 'addItem-input-table',
              args: {
                "item": [
                  {
                    "a": "a-noIndex",
                    "b": "b-noIndex"
                  }
                ]
              }
            }
          ]
        )
      }
    </script>
  <div>
    <h2>添加条目</h2>
    <button onclick="test1()">add item</button>
  </div>
</body>
RoosterZhao commented 6 months ago

在添加好条目之后,能否实现一个 自动滚动到 input-table 底部的 功能? 还有,普通的 list,card,table 之类的组件,能否也添加 这个 addItem 的动作呢?

lhtuling commented 3 months ago

问题复现成功!是个bug,等官方修复吧~~

在添加好条目之后,能否实现一个 自动滚动到 input-table 底部的 功能? 还有,普通的 list,card,table 之类的组件,能否也添加 这个 addItem 的动作呢?

增加滚动功能可以简单自己写一个js放在doAction后面 实现 我正好搞过

document.querySelector("div.scrolldiv").scrollBy(0,50);
lhtuling commented 3 months ago

Amis低代码前端框架交流群【QQ1群】:717791727 Amis低代码前端框架交流群【QQ2群】:721182449