ngx treeview выбрать всех детей под одним родителем

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

Для PCRE и большинства других так называемых Perl-совместимых ароматов избегайте этих внешних классы символов:

.^$*+?()[{\|

и эти внутренние классы символов:

^-]\

Для POSIX расширенных регулярных выражений (ERE), избегайте этих внешних классов символов (таких же, как PCRE):

.^$*+?()[{\|

Выключение любых других символов является ошибкой с POSIX ERE.

Внутри классов символов обратная косая черта является буквальным символом в регулярных выражениях POSIX. Вы не можете использовать его, чтобы избежать чего-либо. Вы должны использовать «умное размещение», если хотите включить метасимволы класса символов в виде литералов. Поместите ^ в любом месте, кроме как в начале, в начале, а в начале или в конце класса символов, чтобы соответствовать этим буквально, например:

[]^-]

В основных регулярных выражениях POSIX (BRE), это метасимволы, которые вам нужно убежать, чтобы подавить их смысл:

.^$*

Выпуски из круглых скобок и фигурных скобок в BRE дают им особый смысл, который их неописуемые версии имеют в ERE. Некоторые реализации (например, GNU) также придают особое значение другим символам при экранировании, например \? и +. Сброс символа, отличного от. ^ $ * () {}, Как правило, является ошибкой с BRE.

Внутри классов символов BRE следуют тому же правилу, что и ERE.

Если все это делает голова спина, возьмите копию RegexBuddy . На вкладке «Создать» нажмите «Вставить маркер», а затем «Литерал». RegexBuddy добавит экраны при необходимости.

1
задан Prasanga 7 March 2019 в 11:20
поделиться

1 ответ

В шаблоне вы можете использовать ' itemTemplate '

<ngx-treeview [config]="config" (selectedChange)="selectItem()" [items]="Items" [itemTemplate]="itemTemplate">

Внизу ниже вашего шаблона добавьте ng-шаблон [1113 ]

<ng-template #itemTemplate let-item="item" let-onCollapseExpand="onCollapseExpand" let-onCheckedChange="onCheckedChange">

<div class="form-inline row-item">

    <i *ngIf="item.children" (click)="onCollapseExpand()" aria-hidden="true" class="fa" [class.fa-caret-right]="item.collapsed" class.fa-caret-down]="!item.collapsed"></i>

    <div class="form-check">

        <input type="checkbox" class="form-check-input" [(ngModel)]="item.checked" (ngModelChange)="onCheckedChange()" [disabled]="item.disabled" [indeterminate]="item.indeterminate" />

        <label class="form-check-label" (click)="item.checked = !item.checked; onCheckedChange()"> {{item.title}} </label>

        <label class="form-check-label">

            <section *ngIf="item.children">
                <img class="icon icon-w tree-view-all" src="assets/img/checked.svg" *ngIf="item.checked && item.internalChecked" (click)="selectChildren(item)" />
                <img class="icon icon-w tree-view-all" src="assets/img/unchecked.svg" *ngIf="!item.checked || !item.internalChecked" (click)="selectChildren(item)" />
            </section>

        </label>

    </div>

</div>

в компоненте используется рекурсивная функция

import { TreeviewComponent } from 'ngx-treeview';

...

@ViewChild(TreeviewComponent) treeviewComponent: TreeviewComponent;

...

selectChildren(i: TreeviewItem) {

    i.collapsed = false;

    if (i.children) {

        this.selectInsideChildren(i);

        i.checked = !i.checked;
    }

    this.treeviewComponent.raiseSelectedChange();

}



selectInsideChildren(item) {

    item.children.forEach(i => {

        i.checked = !i.checked;

        if (i.children) {

            this.selectInsideChildren(i);

        }

    });
}
0
ответ дан Mayura Wijewickrama 7 March 2019 в 11:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: