Advertisement
shopnilSS

Dynamic Add button

Aug 12th, 2021
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. mport React, { Component } from 'react'
  2.  
  3.  
  4. class Random extends Component {
  5.     constructor() {
  6.         super()
  7.         this.state = {
  8.             tags :["tag1", "tag2", "tag3", "tag4"],
  9.             display :[],
  10.             selectedData : ""
  11.         }
  12.     }
  13.    
  14.     addMoreHandler = (e) => {
  15.         e.preventDefault()
  16.         this.setState({
  17.             display: [...this.state.display, this.state.selectedData]
  18.         })
  19.     }
  20.  
  21.     selectHandler = (e) => {
  22.         e.preventDefault()
  23.         this.setState({
  24.             selectedData: e.target.value
  25.         })
  26.     }
  27.     render() {
  28.         return (
  29.             <div>
  30.                 <label htmlFor="cars">Choose a car:</label>
  31.                 <select id="cars" onChange = {(e) => this.selectHandler(e)} >
  32.                     {
  33.                         this.state.tags.map((data, ind) => {
  34.                             return(
  35.                                 <option key = {ind} value= {data}>{data}</option>
  36.                             )
  37.                         })
  38.                     }
  39.                 </select>
  40.                
  41.                 <button onClick={(e) => this.addMoreHandler(e)}>Add more</button>
  42.                
  43.                 <div>
  44.                     <h1>Display part</h1>
  45.                     {
  46.                         this.state.display.map((data, ind) => {
  47.                            if(this.state.display.length > 0) {
  48.                              return(
  49.                                 <button key = {ind} >{data}</button>
  50.                             )
  51.                            }else {
  52.                             return (
  53.                                 <p>No option have selected</p>
  54.                             )
  55.                            }
  56.                         })
  57.                     }
  58.                 </div>
  59.                    
  60.             </div>
  61.         )
  62.     }
  63. }
  64.  
  65. export default Random
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement