【发布时间】:2019-08-26 08:54:16
【问题描述】:
我有一组需要在 UI 中显示的项目,例如标题和其下的项目列表。
有一个父组件,我将这些数据传递给如下所示的文件。
在此基础上显示父子布局。
现在我需要根据标题的点击展开/折叠。
有一个类“open”和“close”可以附加到 div 上。基于它,它会折叠/展开。
关键是如何逐项进行
谁能帮忙
import React from "react";
import Child from "./Child";
import Parent from "./Parent";
export default class Helper extends React.Component{
constructor(props: any) {
super(props);
this.state = {
parent:{},
children:{},
};
}
componentDidMount() {
this.setParentValue();
this.setChildValue();
}
render() {
const { parent, children } = this.state;
const { name } = this.props;
return (
<>
<div className="an-panel expand-panel expand-close">
<div className="an-panel-header">
<div className="title-holder">
<span className="toggle-icon far fa-plus-square" />
<span className="toggle-icon far fa-minus-square" />
<h5>{name}</h5>
</div>
<div className="action-holder">
<div className="status-holder">
<Parent
parent = {parent}
onSelect={this.handleParentClick}
/>
</div>
</div>
</div>
{children.map(({ id, name },id) => (
<div className="an-panel-body" key={id}>
<ul className="applications-list-holder">
<li>
<div className="name">{name}</div>
<div className="status">
<Child
children={children}
onSelect={this.setChildSwitchValue}
/>
</div>
</li>
</ul>
</div>
))}
</div>
</>
);
}
}
【问题讨论】:
-
你已经尝试过什么?什么是
an-panel,您的自定义组件? -
@MedetTleukabiluly 它是该面板的自定义类。如果我添加“关闭”或“打开”,它会折叠或展开。但希望这是明智的。
-
什么是item wise?
-
@MedetTleukabiluly 就像单个标题将具有 + 或 - 表示展开或折叠的按钮。点击它应该展开或折叠。默认情况下,由于这个 className="an-panel expand-panel expand-close",所有内容都将处于折叠状态。现在,如果我使它成为 expand-open ,它会被扩展,但对于所有项目。我想要单个项目展开/折叠之类的东西。
-
现在如果我让它展开-打开你在哪里做的,显示代码
标签: javascript reactjs setstate