TypeError: collection.some не является функцией

angular.js:13424 TypeError: collection.some is not a function
at findIndex (angularjs-dropdown-multiselect.min.js:1)
at Scope.$scope.isChecked (angularjs-dropdown-multiselect.min.js:1)
at angularjs-dropdown-multiselect.min.js:1
at Object.forEach (angular.js:321)
at Scope.$scope.getButtonText (angularjs-dropdown-multiselect.min.js:1)
at fn (eval at compile (angular.js:14268), :4:230)
at expressionInputWatch (angular.js:15321)
at Scope.$digest (angular.js:16860)
at Scope.$apply (angular.js:17133)
at done (angular.js:11454)

Вот плункер, чтобы показать ошибку

https://plnkr.co/edit/SqZGFwf4iD09MqLiisPK?p=preview

Таким образом, проблема действительно связана с установкой значения для модели, где, если я устанавливаю ее для объекта, я вижу эту ошибку. Я хотел, чтобы в качестве единственного выберите объект, а не массив.

angularjs,bootstrap-multiselect,

0

Ответов: 2


0 принят

Я не понимал, что вы хотите для первых многопозиционных боксов - для них нужно выбрать один. Но если вы проверяете документацию, ясно, что вам не хватает настроек selectionLimit, вы правы в отношении объекта модели для одного выбора:

"model": {
            "id": 1
        },
        "settings": {
            "smartButtonMaxItems": 1,
            selectionLimit: 1
        }

Новый плункер: https://plnkr.co/edit/uCBYPG3JCp1v2ECnr6up?p=preview

Забыл упомянуть, я также обновил угловую вырезку-multiselect.js с последней из github.


0

Я думаю, что проблема связана с самой библиотекой, где она проверяет событие array.some для объекта.

Я исправил проблему, добавив эту проверку в 'angular-dropdown-multiselect.js'

if(toString.call(collection)=="[object Array]")
angularjs, самозагрузки-MultiSelect,
Похожие вопросы
Яндекс.Метрика