Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

205
Vistas
How to customize mat tree node SelectionModel for disable some checkbox where some other selected

I am use mat tree node for get some selection node from user like this:

export class SelectDataComponent implements OnInit {

    @Output() selectedList=new EventEmitter<any[]>();
    @Input() exportMode: boolean;
  private _transformer = (node: DeviceNode, level: number) => ({
    expandable: !!node.children && node.children.length > 0,
    id:node.id,
    name: node.name,
    level: level,
    });
   treeControl = new FlatTreeControl<ExampleFlatNode>(
    node => node.level, node => node.expandable);
   treeFlattener = new MatTreeFlattener(
    this._transformer, node => node.level, node => node.expandable, node => node.children);
   dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
   checklistSelection = new SelectionModel<ExampleFlatNode>(true /* multiple */);
    tree: any;

   constructor(private _propertyService: PropertyService) {
    }


   hasChild = (_: number, node: ExampleFlatNode) => node.expandable;
   ngOnInit() {
              this._propertyService.getTreeNodes().subscribe((respP)=>{
             this.tree=JSON.parse(respP.data);
            //this.tree =TREE_DATA;
            this.dataSource.data=this.tree;
        });



       };

       todoItemSelectionToggle(node: ExampleFlatNode): void {
        this.checklistSelection.toggle(node);
        const descendants = this.treeControl.getDescendants(node);

        this.checklistSelection.isSelected(node)
          ? this.checklistSelection.select(...descendants)
          : this.checklistSelection.deselect(...descendants);

        descendants.every(child =>
          this.checklistSelection.isSelected(child)
        );

      }
      todoLeafItemSelectionToggle(node: ExampleFlatNode): void {
        this.checklistSelection.toggle(node);

        const a=of(this.checklistSelection.selected);

      }
      public sendToDataList(){

        if (this.checklistSelection.selected.length===0) {
            console.log('error');
        }
        else
        {
        const b=this.selectedList.emit(this.checklistSelection.selected);
      
        }
    }
    public clearList()
    {
        this.checklistSelection.clear();
    }
    }

How can I deactivate another node by selecting one node? That is, if 'A' is selected, checkbox 'B' will be disabled

My goal is to impose data selection constraints that node 'A' and 'B' are not selected at the same time.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda