具有自定义建议的多输入

时间:2018-03-01 10:54:35

标签: sapui5

我正在寻找在格式表格中显示建议(三个字段userID firstname lastname)。我找到了this example,但它是简单的输入 当我尝试多输入时,我收到了这个错误:

  

错误:无法加载' null / suggestionColumns.js' from resources / null / suggestionColumns.js:404 - Not Found"

1 个答案:

答案 0 :(得分:0)

sap.m.MultiInput类是常规sap.m.Input类的子类。除非SDK中另有规定,否则适用于常规输入的所有机制也应适用于多输入。

查看您收到的错误消息,我想您没有为suggestionColumns聚合标记指定正确的XML命名空间。您应该使用sap.m库的命名空间(即与MultiInput XML标记完全相同的命名空间)。

您可以找到sap.m.Input in the SDK的工作样本。可以使用以下定义纯粹在XML视图中创建简约样本:

<mvc:View xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc">
    <MultiInput showSuggestion="true" >
        <suggestionColumns>
            <Column>
                <Label text="First Name"/>
            </Column>
            <Column>
                <Label text="Last Name"/>
            </Column>
        </suggestionColumns>
        <suggestionRows>
            <ColumnListItem>
                <Label text="John"/>
                <Label text="Doe"/>
            </ColumnListItem>
            <ColumnListItem>
                <Label text="Jack"/>
                <Label text="White"/>
            </ColumnListItem>
            <ColumnListItem>
                <Label text="Some"/>
                <Label text="Guy"/>
            </ColumnListItem>
        </suggestionRows>
    </MultiInput>
</mvc:View>

默认情况下,当用户按下建议行时,没有任何反应。要将行为附加到此选择事件,您可以使用suggestionItemSelected事件(继承自sap.m.Input控件)。

上述示例的此事件的回调可能如下所示:

onSelection: function(oEvent) {
   var aCells = oEvent.getParameter("selectedRow").getCells();
   oEvent.getSource().addToken(new sap.m.Token({
     key: aCells[1].getText(),
     text: aCells[0].getText()
   }));
}

我对这些示例做了一个小小的提示,你可以在这里访问它:https://jsfiddle.net/a0bk8kub/11/