текст optionLabel не отображается изначально / kendodropdownlist - PullRequest
0 голосов
/ 02 апреля 2020

Я использую ниже, который все работает; за исключением того, что мой optionLabel текст изначально не отображается , изначально он просто пустой, только после первого щелчка он начинает работать как положено . Как я могу это исправить с помощью выпадающего списка кендо?

    var dataSource = new kendo.data.DataSource({
        transport: {
            read: {
                url: urld,
                dataType: "json",
                type: 'GET'
            }
        }
    });

    var pointTemps = $("#templates").kendoDropDownList({
        optionLabel: "Choose Template", <----- only begins to work after initial click
        dataSource    : dataSource,
        dataTextField : "styleName",
        select: getSelectedText,
    });

    var ds = pointTemps.data('kendoDropDownList').dataSource;
        ds.filter({
        logic: 'or',
        filters: [
            { field: "kewl", operator: "neq", value: null}
        ]
    });
    dataSource.read();

1 Ответ

1 голос
/ 02 апреля 2020

dataSource внутри dropDownList вызывает метод чтения, вам не нужно менять dataSource после этого. Если вы сделаете это, вы переопределяете текущий источник данных и удаляете данные из него, и это, вероятно, удаляет optionLabel.

Я бы в вашем случае сделал что-то вроде этого:

var dataSource = new kendo.data.DataSource({
    transport: {
        read: {
            url: urld,
            dataType: "json",
            type: 'GET'
        }
    },
    filter: { field: "kewl", operator: "neq", value: null}
});

var pointTemps = $("#templates").kendoDropDownList({
    optionLabel: "Choose Template",
    dataSource    : dataSource,
    dataTextField : "styleName",
    select: getSelectedText,
});

И это все Никаких дополнительных звонков не требуется.

...