我定义了一个名为 fullText
的状态变量。
fullText
默认值为 false
。
当单击全文时,我想反转我的状态值并使文本能够关闭和打开。但是当单击时,表中所有行的文本都会打开,如何使其特定于行?
{ !this.state.fullText ? <div onClick={() => this.setState({ fullText: !this.state.fullText })} className="text-primary cursor-pointer font-size-14 mt-2 px-2" key={props.data?.id}> Full Text </div> : <> <div onClick={() => this.setState({ fullText: !this.state.fullText })}className="text-primary cursor-pointer font-size-14 mt-2 px-2" key={props.data?.id}> Short Text </div> <span>{ props.data?.caption}</span> </> }
似乎问题中的代码示例对于每一行都是重复的,但只有 1 个状态
fullText
(CodeSandbox 中的showMore
)对于所有这些行都是通用的。因此它们都一起打开或关闭。如果您希望每行都有单独的打开/关闭功能,那么每行需要 1 个这样的状态。一个简单的解决方案可能是将此状态嵌入到每行的数据中: