I am creating a react app i have to add an input toggle inside my header component. I tried to add but JavaScript is not working. if
this is the header component file. inside this component I have included my input toggle condition. i have placed JavaScript code right below the imports.
anyone knows please check thanks..
import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { Nav, Navbar, Collapse, DropdownMenu, DropdownItem, NavbarToggler, DropdownToggle, UncontrolledDropdown, } from 'reactstrap'; import { Link, withRouter } from 'react-router-dom'; import Config from '../../../constants/config'; import { SidebarNavItems } from '../Sidebar'; import logoImages from '../../../images/logo.png'; require('./styles.scss'); var allInputs = document.querySelectorAll('.myInput'); allInputs.forEach(function(node) { node.addEventListener("click", function(){ var allHiddenInputs = document.querySelectorAll('.hidden'); if(allHiddenInputs.length === 0) { allInputs.forEach(function(input) { input.classList.add("hidden"); input.classList.add("second"); input.classList.remove("first"); }); node.classList.remove("hidden"); node.classList.remove("second"); node.classList.add("first"); } else { allHiddenInputs.forEach(function(input) { input.classList.remove("hidden"); }); } }); }); class Search extends Component { constructor(props) { super(props); } render() { return ( <div className=""> <div className="input-container"> <input type="password" placeholder="Input 1" className="myInput first" /> <input type="password" placeholder="Input 2" className="myInput second hidden" /> </div> </div> ); } } export default withRouter(Search); this is my css file which linked to this component.
.input-container { display: flex; flex-direction: column; } .myInput { margin: 10px; padding: 5px } .first { order: 1; } .second { order: 2; } .hidden { display: none; }