Saya menentukan pembolehubah keadaan bernama fullText
.
fullText
默认值为 false
Nilai lalai ialah false
.
Apabila teks penuh diklik, saya mahu menyongsangkan nilai keadaan saya dan menjadikan teks boleh ditutup dan dibuka. Tetapi apabila diklik, teks semua baris dalam jadual terbuka, bagaimana saya boleh menjadikannya khusus baris?
{ !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> </> }
Nampaknya contoh kod dalam soalan diulang untuk setiap baris, tetapi hanya 1 keadaan
fullText
(CodeSandbox 中的showMore
) adalah perkara biasa bagi kesemuanya. Jadi mereka semua menghidupkan atau mematikan bersama-sama.Jika anda mahu setiap baris mempunyai fungsi buka/tutup yang berasingan, maka anda memerlukan 1 keadaan sedemikian bagi setiap baris. Penyelesaian mudah adalah dengan membenamkan status ini ke dalam data setiap baris: