预选的角度数据未显示在Select2多选菜单中

时间:2016-10-04 23:53:28

标签: angularjs select2

我有一个使用Select2(4.0.3)和Angular(1.4.9)的项目。其中一种形式使用Angular控制器和双向数据绑定,加载包含许多站点的联系人模型,以及来自服务器的可用站点列表。此数据分别添加到- - - 对象和contact数组中,这些数组是控制器的属性。我已经实现了Select2多重选择,允许用户更新属于该联系人的网站列表。

sites

此实现的问题是,在首次加载数据时,它不会显示已经属于联系人的站点。

在使用<select name="sites" class="form-control m-b js-example-basic-multiple site-select" multiple="multiple" data-placeholder="Select Sites" ng-model="contact.sites"> <option ng-repeat="site in sites" ng-bind="site.name" value="{{ site.id }}"> </option> </select> 从服务器获取数据之前,select元素将变为Select2。

将Angular和Select2集成在一起以解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我通过将ng-options直接添加到select元素并完全删除explict选项元素来解决这个问题:

<select 
    name="sites"
    class="form-control m-b js-example-basic-multiple site-select"
    multiple="multiple"
    data-placeholder="Select Sites"
    ng-model="contact.sites"
    ng-options="
        site as site.name 
        for site in sites 
        track by site.id
    ">
</select>