尝试在标记模式(非简单标记)中使用角度ui-select2,丢失对象

时间:2014-01-25 07:00:45

标签: angularjs angular-ui angularjs-select2 ui-select2

我最近从角度1.1.4升级到1.2.9,并抓住了最新的ui-select2指令和最新的select2组件。标签模式下的select2s已停止工作。选项列表和预先输入工作,但当我从中选择任何内容时,新标记显示为没有任何值的空白内容,并对其进行调试,我看到它正在从{text:“foo”,id:10}切片低至10 - 对象正在被id替换。我真的很感激有关为什么会发生这种情况的任何见解。

演示:http://plnkr.co/edit/RepMSFQsIPDuPTNFWKUN?p=preview

以下是我的select2选项:

.controller('AppController', function($scope) {
  availableTags = [
    {text: 'Apple', id: 1},
    {text: 'Apricot', id: 2},
    {text: 'Avocado', id: 3},
  ];
  $scope.select2Options = {
    tags: availableTags,
    multiple: true, 
    minimumInputLength: 1,
    formatResult: function (item) {
        return item.text;
    },
    formatSelection: function (item) {
        return item.text;
    },
  }

2 个答案:

答案 0 :(得分:13)

Holy cow,Matt / invinity在github问题上回答了我的问题:

https://github.com/angular-ui/ui-select2/issues/144#issuecomment-33287882

I had this same behavior and was able to correct it by changing the input type to
"hidden". See if that works for you.

    -matt

这完全解决了它。

答案 1 :(得分:0)

这肯定是一个版本问题。我不认为Select2支持Angular 1.2.5。也许只支持版本< 1.2。

This fork of your plunker正在运行(使用Angular 1.1.5版)。

我什么都没做,只是更改了版本号。

提出这个as a bug on GitHub是正确的做法。 :)