在模态 window 中添加元素

Add elements in modal window

我正在用 React 编写一个单页网站。目前我有一个过滤器 window,使用帮助模式 window 实现,它包含四个类别,看起来像这样:

这些类别是使用下拉列表实现的,即打开时会出现复选框。但这对用户来说并不清楚,我想修复它。 在下图中,我用绿色给出了所需的实现:

由于我已经为单独的文件实现了每个类别,所以我仅针对类别 - 日期给出了我的代码示例。请告诉我如何实现它。

    function FilterDate() {
    const [isExpanded, setIsExpanded] = useState(false);

    const toggleExpand = () => {
        setIsExpanded(!isExpanded);
    };

    const collapse = () => {
        setIsExpanded(false)
    }
    const expand = () => {
        setIsExpanded(true)
    }


    const [state, setState] = useState([
        {
            startDate: new Date(),
            endDate: null,
            key: "selection"
        }
    ]);
    return isExpanded ? (
        <div>
            <div onClick={toggleExpand}><h6>Date</h6></div>
            <DateRange
                onChange={item => setState([item.selection])}
                moveRangeOnFirstSelection={false}
                ranges={state}
            />
        </div>
    )
        : (
            <div onClick={toggleExpand}><h6>Date</h6></div>
        );
}

export default FilterDate;

首先,更改 return,使 div 不再重复。

return <>
  <div onClick={toggleExpand}><h6>Date</h6></div>

  {
    isExpanded && <div>
      <DateRange
        onChange={item => setState([item.selection])}
        moveRangeOnFirstSelection={false}
        ranges={state}/>
    </div>
  }
</>

向 div 添加 class,并使用 CSS 添加边框顶部和边框底部:

<div className="item-toggle" onClick={toggleExpand}><h6>Date</h6></div>

.item-toggle {
  border-top: 1px solid black;
  border-bottom: 1px solid black;
}

关于箭头,你可以在Material Icons中找到一个,然后将其添加到div中,例如:

<div className="item-toggle" onClick={toggleExpand}>
  <h6>Date</h6>

  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"/></svg>
</div>