【问题标题】:Material UI multiselect checkbox remove selected Item材质 UI 多选复选框删除所选项目
【发布时间】:2019-09-28 04:57:57
【问题描述】:

我有 2 个带有复选框的材质 ui 多选 fomrcontrol。这些是从 json 文件绑定的。一个用于列出州,另一个用于列出选定州的地区。选择工作正常,但我在取消选中复选框时遇到问题。

问题是,例如当我选择州果阿和卡纳塔克邦时,这些州的对应地区将显示在 District formControl 中。我可以选择我选择的地区,说我选择了“北果阿”。如果我在州下拉菜单中取消选中“GOA”,我想清除我在“地区”下拉列表中选择的所有地区(即“北 GOA”需要删除)。

请帮我找到想要的输出
SandBox Link

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    当你取消选中一个选中状态时,你需要过滤那些区域,并删除那些属于未选中状态的:

      isDistrictInSelectedState = (district, statesSelected) => {
        return statesSelected.find(selectedState => {
          const districtsInState = StateDistrict.states.find(state => state.state === selectedState).districts;
    
          return districtsInState.find(districtInState => districtInState === district);
    
        })
      }
    
      handleChangeState = event => {
        // console.log(event.target.value)
        this.setState({
          sp_StatesCovered: event.target.value,
          sp_DistrictsCovered: this.state.sp_DistrictsCovered.filter(district => {
            return this.isDistrictInSelectedState(district, event.target.value);
          })
        });
      };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-15
      • 2021-07-11
      • 1970-01-01
      • 2018-08-01
      • 2019-09-26
      • 1970-01-01
      相关资源
      最近更新 更多