角度:ui选择.具有“刷新”功能的自定义标记

Angular: ui-select. Custom tagging with `refresh` function

本文关键字:功能 自定义 刷新 ui 选择 具有 角度      更新时间:2023-09-26

我需要多选输入的能力。问题是,当用户点击时,数据会动态地来自服务器,如果找不到合适的数据,我需要创建一个新的标签。代码示例:获取地址

当前示例不显示标签中的信息,如果输入了新信息,也不显示标题tagging-label="(custom 'new' label)"(例如,您可以键入类似"blablabla"的内容,服务器应该不返回任何信息)

如何处理?我可以将所有结果保存到数组中并使用数组而不是服务器的解决方法对我不起作用…

当您使用多个时,您需要在ui中使用$item来选择匹配

您需要使用自定义函数来创建新项(如"blablabla")。您可以在ui的标记属性中选择

你需要的代码是这样的:

<ui-select multiple tagging="tagTransform" ng-model="myCompetences.competences" theme="bootstrap" ng-disabled="disabled" style="width: 800px;" title="Choose a person">
<ui-select-match placeholder="Select a address...">{{$item.formatted_address}}</ui-select-match>
<ui-select-choices repeat="address in addresses track by $index"  refresh="refreshAddresses($select.search)" refresh-delay="0">
<div ng-if="address.isTag" ng-bind-html="'<small>(new)</small>'"></div>
  <small>
    {{address.formatted_address}} 
  </small>
</ui-select-choices>
</ui-select>

以下是示例中的修改:http://plnkr.co/edit/CQkuSMQub9S81hSRueO1

这里有一个例子:http://plnkr.co/edit/m1SQXUxftBLQtitng1f0

如果你想将信息添加到你的服务器或类似的东西,我建议使用on select事件。