如何将数据属性添加到引导树视图?

Ing*_*mar 0 treeview twitter-bootstrap-3

我正在使用bootstrap-treeview 1.2.0(来自Jon Miles)。

我的目标是将自定义数据属性添加到列表项的标记中,例如

<li class="list-group-item node-tree" data-id="100" data-type="user" ...>
Run Code Online (Sandbox Code Playgroud)

我试图遵循这些说明,请参见此处,这是我的JSON的一部分:

[{"text":"Root","icon":null,"data-id":1,"data-type":"branch","nodes":[{"text":"Steve","icon":null,"data-id":17, "data-type":"user","nodes":...
Run Code Online (Sandbox Code Playgroud)

对我来说,JSON看起来不错。但是我的数据属性都没有在标记中呈现。

有任何想法吗?

小智 5

抱歉,为时已晚。我搜索了此内容,却找不到任何东西。但是您可以稍微更改bootstrap-treeview.js文件。buildTree函数中有一些属性集代码。看起来像这样:

    Tree.prototype.buildTree = function (nodes, level) {

        if (!nodes) return;
        level += 1;

        var _this = this;
        $.each(nodes, function addNodes(id, node) {

            var treeItem = $(_this.template.item)
                .addClass('node-' + _this.elementId)
                .addClass(node.state.checked ? 'node-checked' : '')
                .addClass(node.state.disabled ? 'node-disabled': '')
                .addClass(node.state.selected ? 'node-selected' : '')
                .addClass(node.searchResult ? 'search-result' : '') 
                .attr('data-nodeid', node.nodeId)
                .attr('style', _this.buildStyleOverride(node));
......................SOME CODES ........SOME CODES..........................}
Run Code Online (Sandbox Code Playgroud)

你可以加 :

.attr('data-type', node.dataType)
.attr('data-id', node.dataId)
Run Code Online (Sandbox Code Playgroud)

然后像这样更改object(json):

[{"text":"Root","icon":null,"dataId":1,"dataType":"branch","nodes":
[{"text":"Steve","icon":null,"dataId":17, "dataType":"user","nodes":...
Run Code Online (Sandbox Code Playgroud)