Kendo DropDownList不绑定数据

时间:2019-07-19 16:34:57

标签: kendo-ui kendo-dropdown

我正在使用Kendo下拉列表显示来自远程服务呼叫的数据。

首先,这是HTML模板中的定义:

<select
kendo-drop-down-list
k-options="dropdownOptions"
k-ng-delay="dropdownOptions">
</select>

接下来,这是从AngularJS控制器填充下拉列表的代码:

    var myUrl = '(url of REST service)';
                $scope.dropdownOptions = {
                    dataSource: {
                        transport: {
                            read: {
                                url: myUrl,
                                dataType: 'json',
                                type: 'POST',
                                contentType: "application/json;charset=ISO-8859-1"
                            },
                            parameterMap: function (data, type) {
                                const req = {
                                    "PARAMS": $scope.params
                                };

                                return JSON.stringify(req);

                            }
                        }
                    },
                    dataTextField: 'DESCRIPTION',
                    dataValueField: 'VALUE',
                    schema: {
                        type: "json",
                        data: "resultData",
                        model: {
                            id: "VALUE",
                            fields: {
                                "VALUE":{field: "VALUE", type: "string"},
                                "DESCRIPTION":{field: "DESCRIPTION", type: "string"}
                            }
                        }
                    }
                };

(注意:REST服务需要通过POST将数据作为JSON对象提供,因此类型和parameterMap也要提供)。

我已经确认,要填充下拉列表的数据是作为键“ resultData”下的数组从REST服务返回的:

{
    "resultData":[{"DESCRIPTION":"Whatever","VALUE":"VALUE1"},...]
}

有人可以帮助我吗?

更新

我在开发控制台中也看到“ e.slice不是函数”。

修改

已将id字段添加到模型,无效。

1 个答案:

答案 0 :(得分:0)

问题是schema应该是dataSource的子代。修复问题后,数据开始显示。