使用react-select隐藏/显示元素-不隐藏元素

azr481

我正在使用带有状态列表的react-select库,然后使用该库来隐藏/显示我的元素当我从列表中选择元素时会显示元素,但是在删除它们时不会隐藏它们。这是代码:

import React from 'react';
import Select from 'react-select';

const options = [
    { value: 'ny', label: 'NY' },
    { value: 'ca', label: 'California' },
    { value: 'ak', label: 'Arkansas' }
];

export default class HomePage extends React.Component {
    constructor(props) {
        super(props);
        this.state = {}
    }

    handleChange = (selectedOption) => {
        if (!selectedOption) {
            this.setState({})
        }
        else {
            const result = {}
            
            selectedOption.map((option) => {
                result[option.value] = true
            })

            this.setState(result)
        }
    }

    render() {
        return (
            <div>
                <Select
                    isMulti
                    onChange={this.handleChange}
                    options={options}
                />
                {this.state.ny && (
                    <div>NY State Images</div>
                )}
                {this.state.ca && (
                    <div>CA State Images</div>
                )}
                {this.state.ak && (
                    <div>AK State Images</div>
                )}
            </div>
        )
    }
}
彼得

这有点奇怪React.Component

尝试使用功能组件:

export default function HomePage() {
  const [state, setState] = useState({});

  const handleChange = selectedOption => {
    console.log("CHANGE_HAPPEN: ", selectedOption);
    if (!selectedOption) {
      setState({});
    } else {
      const result = {};

      selectedOption.forEach(option => {
        result[option.value] = true;
      });
      console.log("RESULT: ", result);
      setState(prev => result);
    }
  };

  return (
    <div>
      <Select isMulti onChange={handleChange} options={options} />
      {state.ny && <div>NY State Images</div>}
      {state.ca && <div>CA State Images</div>}
      {state.ak && <div>AK State Images</div>}
    </div>
  );
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用AngularJs显示/隐藏元素

来自分类Dev

使用JavaScript隐藏/显示元素

来自分类Dev

显示和隐藏不隐藏元素

来自分类Dev

使用jQuery显示或隐藏div元素

来自分类Dev

使用jQuery反复显示/隐藏元素

来自分类Dev

使用javascript显示/隐藏<section>元素

来自分类Dev

显示:before但仅使用CSS隐藏元素

来自分类Dev

使用 v-if 隐藏和显示元素

来自分类Dev

SiteMap不隐藏元素

来自分类Dev

为什么在使用jQuery隐藏元素时元素再次显示

来自分类Dev

使用CSS隐藏元素

来自分类Dev

React:隐藏/显示一个元素,同时隐藏其余的相似元素

来自分类Dev

在元素被隐藏/取消隐藏的函数中,使用javascript移动(而不滚动)至锚点

来自分类Dev

使用react js隐藏行的特定元素

来自分类Dev

隐藏元素中的内容而不隐藏子类

来自分类Dev

如果使用jQuery不包含“ li”元素,如何隐藏“ ul”元素中的所有内容?

来自分类Dev

jQuery默认不隐藏元素

来自分类Dev

如何显示/隐藏受影响的array.map()的React元素

来自分类Dev

隐藏/显示元素jQuery

来自分类Dev

显示隐藏的元素

来自分类Dev

Javascript显示/隐藏元素

来自分类Dev

显示隐藏元素 jquery

来自分类Dev

隐藏元素和显示元素

来自分类Dev

使用jQuery显示和隐藏动态生成的表元素

来自分类Dev

仅使用Javascript隐藏/显示元素,而不会弄乱DOM

来自分类Dev

如何使用条件语句显示/隐藏车把中的html元素

来自分类Dev

在Dart中使用CSS隐藏和显示Web元素?

来自分类Dev

加载时隐藏元素,使用Mouseenter悬停时显示

来自分类Dev

使用CSS显示和隐藏元素不起作用