「Portlet」、「PortletTitle」、「PortletTool」、「PortletBody」の各コンポーネントがあります。すべて正常に動作しますが、今はコンポーネント間の単純なやりとりを追加します。すでに(このような構造で、今他のコンポーネントとの直接の通信
<Portlet>
<PortletTitle>
<PortletTool toolCollapse={true}>
</PortletTitle>
<PortletBody>bla vla bla </PortletBody>
</Portlet>
PortletTool.js
class PortletTools extends React.Component {
static propTypes = { toolCollapse: PropTypes.bool };
state = { collaped: false };
handler =() => {
let newstate = !this.state.collaped;
this.setState({ collaped: newstate });
};
render() {
const classCollaped = !this.state.collaped ? "collapse" : "expand";
let toolCollapse = this.props.toolCollapse
? <a href="javascript:;" className={classCollaped} title="" data-original-title="" onClick={this.handler}>{" "}</a>
: "";
return (
<div className="tools">
{toolCollapse}
</div>
);
}
}
PortletBodyは、要素を表示/非表示にする小道具 "showbody" を持っていますが、私は次のことができます。私のアプリで使用する
アプリケーションの他のページで使用されています)私のPortletToolをクリックします。はい、どうですか?
"可能な場合は、"ポートセット "コンポーネントでこれを行う必要があります。
私は知っていますが、多くのページで私はコードを変更する必要があります。実際の状況でこのインタラクションを作成することは可能ではありません。各ページで、ポートレット - >タイトル - >ツールを使用して構造体を作成した後、単一のコンポーネント・ポートレットを使用していないことを覚えておいてください。 – lbottoni