todolistwitheditreact

import React, { useState } from 'react'

import { TextField,Button } from '@mui/material';
import { MdDelete,MdDensityMedium } from "react-icons/md";
// import ShowList from './ShowList';
export default function Todo() {
    const [item,setItem]=useState([]);
    const [input,setInput]=useState('');
const [toggle,setToggle]=useState(false);
const [edititemid,setEdititemid]=useState(null);
    const Additem=()=>{
        // console.log(input);
        if(!input){
          alert("please fill the data");
        }
      else if(input && toggle===true){
     setToggle(false);
        console.log(edititemid);
        console.log(input);
        setItem(item.map((el,key)=>{
            if(key==edititemid){
                 return input
            //    console.log("yes matching",key,edititemid);
            }
            return el;
           }))
           setToggle(false);
           setInput('');
           setEdititemid(null);
      }
      else{
        setItem((prevItem)=>{
          return [ ...prevItem,input];
          });
      }
      console.log(item);
      setInput('');
    }
    const deleteItems=(index)=>{
      alert('delete item called');
      alert(index);
      setItem((prevItem)=>{
      return  prevItem.filter((arrel,key)=>{
        return   key!=index
       })
      })
    }
    const EditItems=(index,e)=>{

        console.log(index);
        console.log(e);
        //
        setToggle(true);
        setInput(e);
        let newEditItem= item.find((arrel,key)=>{
            return   key==index
           })
        console.log(newEditItem);

  setEdititemid(index);

    }
    const save=()=>{
      console.log('now item is',item);
    }
    //add change...
    // const EditItem=()=>{
       
    //     setToggle(false);
    //     console.log(edititemid);
    //     console.log(input);
    //     setItem(item.map((el,key)=>{
    //         if(key==edititemid){
    //              return input
    //         //    console.log("yes matching",key,edititemid);
    //         }
    //         return el;
    //        }))
    //        setToggle(false);
    //        setInput('');
    //        setEdititemid(null);
    // }
  return (
    <>
        <TextField id="outlined-basic" label="enter item" variant="outlined" value={input} onChange={(e)=>setInput(e.target.value)} />
        {toggle?<Button variant="contained" color="success" size="large"onClick={Additem}
            >EditItem</Button>:<Button variant="contained" color="success" size="large" onClick={Additem} >AddItem</Button>}
<ol>
        {item.map((e,index)=>
        (
        <li key={index}> {e}
 <button style={{fontSize:'1em'}}   onClick={()=>{
            EditItems(index,e)
           }}><MdDensityMedium></MdDensityMedium></button>
 <button style={{fontSize:'1em'}}
           onClick={()=>{
            deleteItems(index)
           }}> <MdDelete></MdDelete></button>
 </li>
         
         
        )  
           
       
            )}
            </ol>

<Button onClick={save} variant="contained" color="success" size="large">save</Button>
       
    </>
  )
}

Comments

Popular posts from this blog

interview questions js[ Anurag Singh ProCodrr]

reactnative_creation