Home > Software engineering >  Trouble instantiating ColDef variable
Trouble instantiating ColDef variable

Time:10-12

I am struggling w creating a local variable in TypeScript. The ColDef is a type found in the agGrid.

I can create an array of ColDefs w/ just one entry and then grab that... But I can not seem to arrive at the correct syntax for simply

    import { ColDef } from 'ag-grid-community';

foo(){

    let try1 = new ColDef(  {field : this.fieldName}); //get error
    let try2 = new ColDef(   this.fieldName );  //get error 
    const try3 = new ColDef(   this.fieldName );  //get error 

   
    let myCDs : ColDef[] = [
            {field : this.fieldName}
          ];
    let myCD : ColDef = myCDs[0];  //and yet this works...  

}

regardless of what I try, i get

ERROR in src/app/helpers/agGrid/AgColDef.ts(20,31): error TS2693: 'ColDef' only refers to a type, but is being used as a value here.

What is the correct syntax to declare just 1 ColDef object?

(i realize this is a newbie TS question, so tyia)

CodePudding user response:

You are trying to use an Interface Like a class.

export interface ColDef extends AbstractColDef, IFilterDef ColDef github

If you want to create one object for an interface:

let obj: ColDef = { /* properties */ }

This works because the created object just needs the specified set of properties in ColDef interface.

  • Related