我正在寻找在格式表格中显示建议(三个字段userID firstname lastname)。我发现this example,但是当我尝试使用多输入时它是简单的输入我得到了这个错误:
错误:无法从resources / null / suggestionColumns.js加载'null / suggestionColumns.js':404 - Not Found“
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/。