SAPUI5/Fiori:一个视图中的多个步骤输入(重复 ID)

SAPUI5/Fiori: Multiple Step Inputs in one View (Duplicate Id)

我正在 SAPUI5/Fiori 中开发一个应用程序,我想在 table 中为每一行实施 "Step Input" 控件。 在Fiori的explored reference中,我复制了控制代码,但目前出现以下错误:

Core-dbg.js:2711 Uncaught (in promise) Error: Error: adding element with duplicate id '[..]--stepInput-decrementBtn'

我的视图如下所示:

<Table id="lineItemsList" width="auto" items="{/itemsSet}"class="sapUiResponsiveMargin">
            <headerToolbar>
                <Toolbar id="lineItemsToolbar">
                    <Title id="lineItemsHeader" text="{/lineItemListTitle}"/>
                </Toolbar>
            </headerToolbar>
            <columns>
                <Column vAlign="Middle">
                    <Text text="{i18n>detailLineItemTableIDColumn}"/>
                </Column>
                <Column hAlign="Right">
                    <Text text="{i18n>detailLineItemTableUnitNumberColumn}"/>
                </Column>
            </columns>
            <items>
                <ColumnListItem>
                    <cells>
                        <Label id="label1" text="{itemID}"/>
                        <StepInput
                        id="stepInput"
                        value="0"
                        width="120px"
                        min="0"
                        max="15"
                        step="1"
                        editable="true"/>
                    </cells>
                </ColumnListItem>
            </items>
        </Table>

我也试过不给StepInput id,还是一样的错误

我已经看过你的问题了。我根据 SAPUI5 示例做了一些测试 https://sapui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.StepInput/preview

并发现问题来自 属性 editable 如果手动将其设置为 true 会引发错误你找到了。

您有多种选择:

  • 你不放这个属性,该字段将是可编辑的,它会起作用
  • 将属性的值与模型的元素匹配(如示例中所示),即使值为 true

您还应该向 SAP 创建一个票证以提出这个问题,这是一个标准问题。

希望这会有所帮助!

Almiriad 是对的,这是最新版本的一个可怕的错误,你可以通过调试 StepInput-dbg.js 查看它 >> 递减按钮创建方法被发送了两次(因为 'setEnaditable'检查聚合并创建按钮)

由于 true 是可编辑的默认值 属性,您在这里不需要它:)