问题原因
报这个错是因为数据封装不正确,select2的封装格式如下
{data:[{}]}
实际例子
{ data : [{“id”:1,“text”:“联想”} , {“id”:2,“text”:“华为”}] }
必须将数据封装成这种格式才能给select2赋值调用.select2动态框写法如下
<input select2 select2-model="entity.brandIds" config="brandList" multiple
placeholder="选择品牌(可多选)" class="form-control" type="text">
select2-model 属性绑定的是一个对象,例如 {“id”:1,“text”:“联想”}
楼主错误原因是在前端的controller层写错了数据格式,错误如下
在赋值时不小心用"[]"吧response括起来了,所以会报错
正确写法是: $scope.specificationList={data:response};
$scope.findSpecificationList = function () {
specificationService.selectOptionList().success(
function (response) {
$scope.specificationList={data:[response]};
}
)
}
注意事项:
- {“id”:1,“text”:“联想”}这个对象的键必须是 id 和 text 否则也会报此错误,注意要区分大小写.
- 数据库中保存有脏数据也会引起这种错误,即数据库中不能有null的字段.
- 例如数据 {“id”:1,“text”:“联想”} ,text键对应的值必须是字符串,否则也会报这个错.