Шаблон KendoUI для контекстного меню

Я пытаюсь подключить контекстное меню к источнику данных JSON, но не могу установить шаблон.

Если у меня есть источник данных, как это (как указано в документации)

var dataSource = [{
    text: "hello",
    imageUrl: "pencil_icon.png",
    content: "I'm on the side"
}]

все хорошо и модно (я использую какой-то шаблон по умолчанию, я думаю)

Однако, если я пытаюсь использовать свой собственный шаблон, все не определено.

<script type="text/x-kendo-template" id="contextMenuTemplate">
    <li data-action="#=onClickJavascript#"><img src="@Web_Helpers.StratosphereImageUrl("#=image#")" /> #=text#</li>
</script>
var dataSource = [{
            text: "bonjour",
            image: "@@Pencil_Icon",
            onClickJavascript: "alert('hello');"
}]

var menu = $("#contextMenu").kendoContextMenu({
               template: kendo.template($("#contextMenuTemplate").html()),
               dataSource: dataSource,

....

Как я могу использовать шаблон с контекстным меню Kendo?

2 ответа

Решение

Вы можете нажать HTML на text свойство контекстного меню

$.each(data, function (key, value) {
    items.push({
        text: '<span data-action="' + value.OnClickJavascript + '">' + value.Text + '</span>',
        encoded: false,
        imageUrl: st.SharedContextMenuCommon.StratosphereGlobalImageUrl + value.Image
    });
});

template кажется, на самом деле не документированы: http://docs.telerik.com/kendo-ui/api/javascript/ui/contextmenu

Когда я пытаюсь использовать его, кажется, что он удаляет элементы и просто оставляет текст. http://dojo.telerik.com/aSenu

Я немного проколол источник, но нигде не видел, что template вариант был бы использован. Поскольку он не задокументирован, я бы предположил, что он не работает правильно, потому что на самом деле он не предназначен для использования.

Другие вопросы по тегам