Angular + Kendo: заполнитель по умолчанию для выпадающего списка

Мне было интересно, как установить заполнитель для выпадающего списка в kendo ui + angular.

В настоящее время у меня есть:

Шаблон

<select kendo-drop-down-list ng-model="selectedElement" k-options="options" >
</select>

Контроллер

...
$scope.options = {
        dataTextField: 'label',
        dataValueField: 'id',
        dataSource: {
            data: [
                {
                    "label": "Please Select..."
                },
                {
                    "id": "linear",
                    "label": "Sample Linear"
                },
                {
                    "id": "bar",
                    "label": "Sample Bar"
                }
            ]
        }
    };
...

Если я заменю источник данных бэкэнд-вызовом, у меня не может быть там «Пожалуйста, выберите». Есть ли другой способ решения этой проблемы?

Я попытался использовать data-option-label="Please Select", следуя инструкциям в этом ссылка, но не повезло.


person Alan Souza    schedule 02.09.2014    source источник


Ответы (1)


Ну, вы можете определить его как атрибут data (дополнительная информация здесь)

Шаблон

<select kendo-drop-down-list k-option-label="'item1'" ng-model="selectedElement" k-options="options" >
</select>

или установите параметр optionLabel в $scope

Контроллер

...
$scope.options = {
    optionLabel: "Item...",
    dataTextField: 'label',
    dataValueField: 'id',
    dataSource: {
        data: [
            {
                "label": "Please Select..."
            },
            {
                "id": "linear",
                "label": "Sample Linear"
            },
            {
                "id": "bar",
                "label": "Sample Bar"
            }
        ]
    }
};

...

person George K    schedule 03.09.2014
comment
k-option-label="item1" неверно, так как option-label представляет собой строку, поэтому вам нужно добавить 'вокруг нее, например k-option-label="'item1'" - person Robert; 21.05.2015
comment
@GeorgeK: эй, ты знаешь, как динамически изменять optionLabel? Я попробовал $scope.options.optionLabel = 'новый дисплей...'. Интерфейс не обновляется - person user308553; 26.08.2016
comment
Вам нужно будет использовать k-rebind*. Вот демо, демонстрирующее это dojo.telerik.com/ipuzo * - docs.telerik.com/kendo-ui/AngularJS/ - person George K; 31.08.2016