Question

I'm trying to display checkbox of some of the popular links but I face this problem. I can't return more than one item (first one). Any Ideas how to display all of them (5).

private getItems(){
        let items:JSX.Element;
        let data=this.state.items;
        for(let i=0;i<data.length;i++){
          if(data[i].Title="Google"){
             items= (
              <div>
            <Checkbox
              label={data[i].Title}
              disabled={ true }
              defaultChecked={ true }
              styles={ styles }
            />
            <br/>
          </div>);
        }
        else if(data[i].Title="Yahoo"){
           items= (
           <div>
             <Checkbox
               label={data[i].Title}
               disabled={ false }
               defaultChecked={ true }
               styles={ styles }
             />
             <br/>
           </div>);
         }
         else{
           items= (
          <div>
            <Checkbox
              label={data[i].Title}
              disabled={ false }
              defaultChecked={ false }
              styles={ styles }
            />
            <br/>
          </div>);
         }
          console.log(data[i].Title);

         return items;
      } 
  }
Was it helpful?

Solution

I used this to write answer:

let googleitem:JSX.Element;
let yahooitem:JSX.Element;
let item:JSX.Element;
let items = [];
let data=this.state.items;
for(let i=0;i<data.length;i++){
   if(data[i].Title="Google"){
      googleitem = (your code);
   }
   else if(data[i].Title="Yahoo"){
      yahooitem = (your code);
   }
   else{
      item = (your code);
      items = [...items,item];
   }
}
items = [googleitem,yahooitem,...items];

May be error since I didn't use it before. But the trouble is that you must use array to store your checkboxes.

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top