我正在使用ui-select而不是本机选择。这是问题所在:
用户可以选择位置数组中的提取地址。如果没有地址,那么他可以添加新地址。我想使用ui-select-search输入字段来过滤select并为此添加新的uniq地址(如果ui-select-choices中没有搜索词)。有什么办法可以做到这一点?
这是我的代码:
<ui-select
ng-model="order.return_address"
theme="bootstrap"
tagging="order.return_address"
tagging-label="false"
reset-search-input="false"
on-select="itemSelected($select.selected)"
ng-required="isRequired"
refresh="updateValue('pick_up', $select.search)"
refresh-delay="900"
name="pick-up-location">
<ui-select-match>{{ $select.selected.title }}</ui-select-match>
<ui-select-choices repeat="address in pickUpAddresses | filter: {title: $select.search}" refresh="refreshItems($select.search)" refresh-delay="700">
{{ address.title }}
</ui-select-choices>
</ui-select>
P.S。我不想在pickUpAddresses数组的输入字段中看到正在写入的地址。
答案 0 :(得分:0)
有一种方法可以使这项工作。因此,我需要使用select将输入字段放置在同一位置,然后将其添加到透明背景中。当您搜索是否从ui-select-choices中选择某项时,将没有问题。并且当您搜索并且如果ui-select-choices中没有项目时,则可以将此属性添加到ui-select reset-search-input="false"
中,这将保存输入的值。现在,您只需要从输入中获取值,该值为$select.search
,然后在同一视图中进行选择和输入。另外,如果您选择了某些内容,则需要重置$select.search
,如果您选择了由select组成的输入,则需要重置$select.selected
。