ivh tree - 禁用节点进行选择

时间:2016-08-22 15:36:15

标签: javascript angularjs tree treeview jstree

我是ivh tree(https://github.com/iVantage/angular-ivh-treeview)的新手并使用此库。我想根据用户权利

禁用某些节点进行选择

例如我有这样的树

$scope.bag = [{
            label: 'Glasses',
            value: 'glasses',
            entitled: false,
            children: [{
                label: 'Top Hat',
                value: 'top_hat',
                entitled: true
            }, {
                label: 'Curly Mustache',
                value: 'mustachio',
                entitled: false
            }]
        }];
};

因此基于名为:[boolean]的变量,它应该让用户选择或取消选择。怎么办呢?

1 个答案:

答案 0 :(得分:2)

要实现此目的,您需要将一些逻辑放入自定义节点模板中。这是一个精简的示例,其中我引入了一个帮助程序指令,只检查node作用域值并在需要时禁用其复选框。

http://jsbin.com/buqaxu/2/edit?html,js,output

app.directive('isCbEnabled', function() {
  return {
    link: function(scope, element, attrs) {
      if(scope.node.disabled) {
        element.find('input').attr('disabled', true);
      }
    }
  };
});

您可以将类似的内容附加到模板中的ivh-treeview-checkbox指令中。请注意,node是模板中受支持的范围变量。