如果select中没有值,是否可以选择ui-select-search值?

时间:2019-03-01 13:08:26

标签: angularjs ui-select

我正在使用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数组的输入字段中看到正在写入的地址。

1 个答案:

答案 0 :(得分:0)

有一种方法可以使这项工作。因此,我需要使用select将输入字段放置在同一位置,然后将其添加到透明背景中。当您搜索是否从ui-select-choices中选择某项时,将没有问题。并且当您搜索并且如果ui-select-choices中没有项目时,则可以将此属性添加到ui-select reset-search-input="false"中,这将保存输入的值。现在,您只需要从输入中获取值,该值为$select.search,然后在同一视图中进行选择和输入。另外,如果您选择了某些内容,则需要重置$select.search,如果您选择了由select组成的输入,则需要重置$select.selected