json(動的)からのいくつかのレコードを表示するテーブルがあります。目的の行をクリックすると、その中にアクションのあるダイアログが表示されます(レコード数、拒否、承認、クローズダイアログ、次のレコード、前のレコード)。動的テーブルからReactJSのダイアログにデータの次の行を引き出す
私は、次の機能と以前の機能を除いて、すべて機能しています。私は、rowIndex
の++
と--
は、次の繰り返しをフェッチすると考えていました(これは私が既にAngularで作成したものですが、これは私のangularJS思考プロセスですが、ReactJSに変換しています) 。
これらは、しかし、あなたがそれで遊ぶために使用することができます私のwebpackbinでミニマルなコードスニペットを見ることができ、私が作成した関数です。ここで
//Pull the next item
handleApprovalDialogNext = (rowIndex, openIndex, event) => {
this.setState(
{
openIndex: rowIndex++,
},() => {this.setState({ open: true })}
)
};
//Pull the prev item
handleApprovalDialogPrev = (rowIndex, openIndex, event) => {
this.setState(
{
openIndex: rowIndex--,
},() => {this.setState({ open: true })}
)
};
は私のwebpackbin
へのリンクですps理想的には、項目が最初の項目の場合は、戻ることを許可しないでください(おそらく、矢印アイコンを無効にする)。あなたがデータの終わりに達すると同じこと。
本当にありがとうございます。
うん!それはうまくいった!説明とリソースに感謝します。単なるコードを提供するよりも良い方法です。どうもありがとう。以前のアイテムがない場合、またはデータの終わりである場合にアイコンを条件付きで無効にする他の部分を手伝ってくれる場合は、webpackbinは修正されています。そうでなければ、それは大丈夫です。とにかくありがとうと – LOTUSMS
は、 'setState'のコールバックバージョンを使用し、新しい状態が現在の状態に依存するとき' prevState'引数を使うことを推奨します:'this.setState(prevState => {{{{{{{{{}} prevState.openIndex + 1 })); ' –
@LOTUSMS条件付きレンダリングを含めるように更新されました。 –