Click here to Skip to main content
15,881,715 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: , +
What am I trying to achieve is passing the state from this input:
JavaScript
<FormControl variant="outlined" fullWidth margin="normal">
                       <InputLabel htmlFor="isEbitda">
                         EBITDA
                       </InputLabel>
                       <Select
                         inputProps={{
                         name: "isEbitda",
                         id: "isEbitda"}}
                         label="EBITDA"
                         fullWidth
                         value={this.state.isEbitda}
                         onChange={(e) => this.handleisEbitda(e)}
                       >
                         <MenuItem  value={false}>No</MenuItem>
                         <MenuItem  value={true}>Yes</MenuItem>
                       </Select>
                     </FormControl>


...so I can use it as a second as a second parameter in if else statement in this function:
JavaScript
disableImprovementCalculationCards() {
   this.setState({
     ebitCardDisabled: false,
     ebitPlusCardDisabled: false,
     oviCardDisabled: false,
     EbitdaCardDisabled: false,
     isEbitda: true
   });


   if (this.state.CreateProjectCommand.valueImprovementTypeId == "") {

       this.setState({
         ebitCardDisabled: true,
         ebitPlusCardDisabled: true,
         oviCardDisabled: true,
         EbitdaCardDisabled: true,
         isEbitda: true
       });
    }
     else if  (this.state.CreateProjectCommand.valueImprovementTypeId == "1" && this.state.isEbitda == true) {
       this.setState({
         ebitPlusCardDisabled: true,
         oviCardDisabled: true,
       });
   }
   else if  (this.state.CreateProjectCommand.valueImprovementTypeId == "1" && this.state.isEbitda == false) {
       this.setState({
         ebitPlusCardDisabled: true,
         oviCardDisabled: true,
         EbitdaCardDisabled: true,
       });
   }

   else if  (this.state.CreateProjectCommand.valueImprovementTypeId == "2" && this.state.isEbitda == true) {
       this.setState({
         ebitCardDisabled: true,
         oviCardDisabled: true,
       });
   }

   else if  (this.state.CreateProjectCommand.valueImprovementTypeId == "2" && this.state.isEbitda == false) {
       this.setState({
         ebitCardDisabled: true,
         oviCardDisabled: true,
         EbitdaCardDisabled: true,
       });
   }

   else if  (this.state.CreateProjectCommand.valueImprovementTypeId == "3") {
       this.setState({
         ebitCardDisabled: true,
         ebitPlusCardDisabled: true,
         EbitdaCardDisabled: true,
       });
   }
   else if  (this.state.CreateProjectCommand.valueImprovementTypeId == "4") {
       this.setState({
         oviCardDisabled: true,
       });
   }
   else if  (this.state.CreateProjectCommand.valueImprovementTypeId == "5") {
       this.setState({
         ebitPlusCardDisabled: true,
       });
   }
   else if  (this.state.CreateProjectCommand.valueImprovementTypeId == "6") {
       this.setState({
         ebitCardDisabled: true,
       });
   }
 }


What I have tried:

The purpose of a second parameter in the if else statement to case to hide/show an input called EbitdaCard. However, no such thing happens. I am not sure whether I do not pass the state properly, or there is an error in the function I pass it into?
Posted
Updated 26-Oct-21 8:32am
v3
Comments
Richard MacCutchan 26-Oct-21 14:22pm    
Your switch and case statements all look very strange. Are you sure that syntax is valid?
Member 15341738 26-Oct-21 14:32pm    
Damn, sorry I have pasted wrong version of my code. I have updated the question.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900