Я использую IVHTREEVIEW
в одном из наших приложений. Наш древовидный вид выглядит примерно так:
+ click + to see all items in list
Item
Item1.1
Item2
Item2.2
Мы показываем флажок для каждого элемента. Для конечного пользователя флажок для первого узла "Нажмите +, чтобы увидеть все элементы в списке" не имеет смысла в нашем бизнесе. Мне нужно отключить или скрыть CHECKBOX
только для этого узла ("Нажмите +, чтобы просмотреть все элементы в списке"). Как я могу это сделать?
Я попытался использовать "useCheckboxes" и установить его в false, в приведенной ниже функции ivh-treeview.js. Но это не работает.
Можете ли вы рассказать мне, как мы можем достичь этого?
trvw.label = function(node) {
trvw.label = function(node) { if(node[localOpts.labelAttribute] == "Click + to see all Items in list"){
node[localOpts.useCheckboxes] = false; } return node[localOpts.labelAttribute];};
Вы захотите использовать шаблон настраиваемого узла и воспользоваться областью видимости области depth
, которую предоставляет ivhTreeview.
В вашем шаблоне: <div ng-if="depth > 0" ivh-treeview-checkbox></div>
Здесь приведена рабочая демонстрация: http://jsbin.com/sadoguv/2/edit?html,js,output
И документы для поддерживаемых переменных области в шаблонах узлов: https://github.com/iVantage/angular-ivh-treeview/blob/master/docs/templates-and-skins.md#supported-template-scope-variables