ui-select 仅过滤一个字段

问题描述 投票:0回答:1

我正在开发一个 AngularJS 应用程序,我正在使用 ui-select 来允许用户选择多个角色和选项卡。过滤非常适合选项卡,但由于某种原因,它不适用于角色,即使两者都是从后端检索并具有相同的结构。

<div class="form-group">
<label>{{'CONFIG_DEPARTMENTS_ADDDEPARTMENT_ROLE' | translate}}</label>
<ui-select multiple ng-model="model.Roles" theme="bootstrap" uib-tooltip="{{'TOOLTIP_GLOBAL_ADD_ROLE' | translate}}" uis-open-close="getDepartmentRoles()">
    <ui-select-match placeholder="{{'CONFIG_DEPARTMENTS_ADDDEPARTMENT_SEARCHROLE' | translate}}">{{$item.Title}}</ui-select-match>
    <ui-select-choices repeat="role in roles | filter: $select.search">
        <div>{{role.Title}}</div>
    </ui-select-choices>
</ui-select>
<div ng-if="model.Errors.Roles">
    {{model.Errors.Roles}}
</div>

这是选项卡的代码,运行良好:

<div class="form-group">
<label>{{'CONFIG_DEPARTMENTS_ADDDEPARTMENT_TABS' | translate}}</label>
<ui-select multiple ng-model="model.Tabs" theme="bootstrap" uib-tooltip="{{'TOOLTIP_GLOBAL_ADD_TAB' | translate}}" uis-open-close="getDepartmentTabs()">
    <ui-select-match placeholder="{{'CONFIG_DEPARTMENTS_ADDDEPARTMENT_SEARCHTABS' | translate}}">{{$item.Title}}</ui-select-match>
    <ui-select-choices repeat="tab in tabs | filter: $select.search">
        <div>{{tab.Title}}</div>
    </ui-select-choices>
</ui-select>
<div ng-if="model.Errors.Tabs">
    {{model.Errors.Tabs}}
</div>

对于角色,我尝试使用以下方法进行过滤,但没有成功:

filter: {name: $select.search.Title}

还更改了其中一个列表的属性,以创建明确的角色标题,但仅标题不起作用。

来自:Angular ui-select 仅过滤一个字段,不起作用

过滤器:

angularjs angularjs-directive
1个回答
0
投票

查看后台数据。如果您发送两个请求,一个请求获取

model.Roles
,另一个请求获取
roles
,则数据可能会存在差异。仅当
model.Roles
中的对象与
role
中的
roles
对象相同时,才会过滤对象。

© www.soinside.com 2019 - 2024. All rights reserved.