0

我正在尝试将上下文菜单连接到 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 上下文菜单中使用模板?

4

2 回答 2

1

You can push HTML to the text property of the context menu

$.each(data, function (key, value) {
    items.push({
        text: '<span data-action="' + value.OnClickJavascript + '">' + value.Text + '</span>',
        encoded: false,
        imageUrl: st.SharedContextMenuCommon.StratosphereGlobalImageUrl + value.Image
    });
});
于 2014-11-14T14:13:17.547 回答
1

template似乎实际上没有记录:http ://docs.telerik.com/kendo-ui/api/javascript/ui/contextmenu

当我尝试使用它时,它似乎去掉了元素,只留下了文本。 http://dojo.telerik.com/aSenu

我稍微浏览了一下源代码,但实际上并没有看到任何可以使用template选项的地方。鉴于它没有记录在案,我会认为它无法正常工作,因为它并不是真正要使用的。

于 2014-10-24T00:41:54.260 回答