2

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

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

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

4

1 回答 1

7

当您使用多个时,您需要在 ui-select-match 中使用 $item

您需要使用自定义函数来创建新项目(如“blablabla”)。您在 ui-select 的标记属性中执行此操作

您需要的代码是这样的:

<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

这是一个带有有用示例的 plnkr:http: //plnkr.co/edit/m1SQXUxftBLQtitng1f0

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

于 2015-03-03T16:29:06.460 回答