为什么ui-select允许我输入文字?

时间:2015-12-23 15:44:14

标签: angularjs ui-select

为什么ui-select允许我输入文字,这是预期的功能还是我打破了它?我可以把它关掉吗?

enter image description here

链接到ui-select https://github.com/angular-ui/ui-select

2 个答案:

答案 0 :(得分:2)

要回答您的问题,它允许您输入文本,因为它应该过滤下拉列表中的选项以匹配您提供的文本。

然而,目前看来这对你不起作用(从截图中看),所以看起来你有问题......

如果您转到问题中的链接(https://github.com/angular-ui/ui-select)并点击演示,则可以看到过滤效果。

答案 1 :(得分:0)

我不太懂英语。但是我试着用ajax man的方法。 像这样的东西

var yourFuction = function (queryParams) {
    return YourRequest('/requestName?name=' + queryParams.data).then(queryParams.success);
};

$scope.modelToEdit = $("#modelData").data("source");

$scope.searchClient = {
    multiple: false,
    allowClear: true,   
    initSelection: function(element, callback) {
    },          
    ajax: { 
        dataType: 'json',
        type: 'GET',
        data: function (term, page) {
            return term
        },
        transport: yourFuction,
        results: function (data, page) {
            return {
                results: data.data
            };
        }
    },
    formatResult: function ( item ) {
        return item.name;
    },
    formatSelection: function(item) {
        return item.name;
    }
};

您的功能是您的后端请求。 运输是你的功能。 结果是后端发送给您的JSON。您可以在返回之前更改您的退货{                     结果:data.data                 };

格式是输入中显示的格式。例如:如果您需要显示ID,您的代码需要返回' item.id'。如果您需要显示任何代码,那么您的代码就是' item.number'。