angularjs – Angular ui-grid:具有多个选择的下拉列表

我试图在anguler-ui-grid中使用多个select但是得到错误:

TypeError: value.forEach is not a function
at writeNgOptionsMultiple [as writeValue] (angular.js:26579)
at ngModelCtrl.$render (angular.js:28680)
at Object.ngModelWatch (angular.js:25493)
at Scope.$digest (angular.js:15888)
at angular.js:16091
at completeOutstandingRequest (angular.js:5552)
at angular.js:5829(anonymous function) @ angular.js:12520(anonymous function) @ angular.js:9292Scope.$digest @
angular.js:15914(anonymous function) @
angular.js:16091completeOutstandingRequest @ angular.js:5552(anonymous
function) @ angular.js:5829

以下是代码:官方模板中唯一的变化是下拉模板tpl中的“multiple”属性

var app = angular.module('app',['ngTouch','ui.grid','ui.grid.edit']);

app.controller('MainCtrl',['$scope',function ($scope) {

  var myData = [
    {
        "firstName": "Cox","lastName": "Carney","employed": true
    },{
        "firstName": "Lorraine","lastName": "Wise","employed": false
    },{
        "firstName": "Nancy","lastName": "Waters","employed": false
    }
];

var dropDownArray = [
      { id: 'Gabi',firstName: 'Gabi' },{ id: 'Gabriel',firstName: 'Gabriel' }];


$scope.msg = "hello shit";

var tpl = '<div>\
  <form\
    name="inputForm">\
    <select multiple\
      ng-class="\'colt\' + col.uid"\
      ui-grid-edit-dropdown\
      ng-model="MODEL_COL_FIELD"\
      ng-options="field[editDropdownIdLabel] as field[editDropdownValueLabel] CUSTOM_FILTERS for field in editDropdownOptionsArray">\
    </select>\
  </form>\
</div>';

$scope.gridOptions = { data: myData,columnDefs: [{ field: 'firstName',displayName: 'First Name',width: 190,editableCellTemplate: tpl,editDropdownValueLabel: 'firstName',editDropdownOptionsArray: dropDownArray },{ field: 'lastName',displayName: 'Last Name',width: 180 },{ field: 'employed',displayName: 'employed?',width: 180 }]}
}]);

解决方法

我遇到了同样的问题 – 一个很难的问题,因为它适用于角度1.2但不适用于1.4.
我的解决方案是初始字段值必须是数组,而不是字符串.
所以你的数据必须如下所示:

var myData = [
    {
        "firstName": ["Cox"],{
        "firstName": ["Lorraine"],{
        "firstName": ["Nancy"],"employed": false
    }
];

错误应该消失.

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...