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

why does ui-select allow me to enter text?

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

Link 到 ui-select https://github.com/angular-ui/ui-select

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

但是,目前看来这对您不起作用(从屏幕截图来看),因此您似乎遇到了问题...

如果您转到问题 (https://github.com/angular-ui/ui-select) 中的 link 并单击“演示”,您可以看到正在运行的过滤。

我不太懂英语。但我正在尝试使用方法 ajax 伙计。 像这样

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。您可以在 return { 结果:data.data };

格式就是您输入的内容。例如:如果您需要显示ID,您的代码需要是return 'item.id'。如果你需要显示任何你想要编码的数字 'item.number'.