問題タブ [ag-grid-react]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - Ag-grid + React + Redux スタイルなし
AG-Gridのアプリのサンプルアプリをビルドできました。動きもスムーズでスタイルも良いです。
次に、アプリに移動したいのですが、スタイルが適用されていないようです。https://github.com/ceolter/ag-grid-react-example/tree/master/srcのすべてのサンプル ファイルをプロジェクトの新しいフォルダーに配置して、アプリで使用するコンポーネントを作成します。
私webpack.config
は次のとおりです。
私は反応するのが初めてなので、初歩的なことが足りないかもしれません...何かアイデアはありますか? myApp.css
生成されたバンドルで見つけることができます。それを機能させる方法は?
reactjs - Redux を使用した AG-Grid
私の仕事ではAG-Grid
、反応バリアントで使用することにしました: https://www.ag-grid.com/best-react-data-grid/index.php
現在、 のアーキテクチャはReact
ですRedux
。私のわずかな知識から、AG-Grid
このアーキテクチャにはあまり適していないと言えます。AG-Grid
コンポーネント内の全体的な状態を維持します。それを強制的かつ完全に redux に接続しようとするのは面倒であり、賢明ではありません。
私はそれを受け入れることができますが、少なくとも行モデルの変更を監視する必要があります-つまり、新しい行のフェッチ、並べ替え、フィルタリング(セルの変更を監視する必要はありません)。これを監視してreduxに接続する方法について、2つのアイデアがあります。
オプション 1 - gridOptions.onModelUpdated() を使用する
gridOptions.onModelUpdated()
フィルタリングまたはソートがいつ実行されたかはわかっていますが、表示されているすべての行にアクセスできません ( docs ) :
状態 1: 行データ
API: このデータを取得するための API はありません。ただし、アプリケーションによって提供されているため、既に持っているはずです。
redux
したがって、更新するデータがないため、アクションをディスパッチできません。
オプション 2 - datasource.getRows()
新しい行でアクションをディスパッチできます。ただし、onReset/onRowsDeleted/...
イベントが見つからないため、redux をいつクリアするかわかりませんstate.rows
。更新params
の引数が の場合、前の行がクリアされたことを知ることができdatasource.getRows(params)
ますparams.startRow === 0
。
質問
たぶん、2つのオプションのいずれかを使用する方法を見つけるかもしれませんが、私の質問は次のとおりです。
AG-Grid
に接続する方法について、これらの良いアイデアはありますRedux
か?
javascript - ag-Grid の cellRenderer 関数は React コンポーネントを返すことができますか?
ほとんどの列で React の cellRenderer を使用したいと考えています。したがって、私の colDefs には、unit という追加のフィールドがあります。ユニットが存在する場合、TableCell React コンポーネントで処理されるカラー グリッドのような heatMap を使用しようとしています。この同一の反応コンポーネントは、ZippyUI などの他のデータ グリッドで機能しています。cellRenderer 関数は、仮想 DOM オブジェクトである React コンポーネントを返すことができますか、それとも真の HTML DOM オブジェクトである必要がありますか? ag-Grid の cellRenderer コンポーネント メソッドでこのようなことを行うのが望ましいでしょうか?
ag-grid - Ag グリッド、浮動行のスタイルを設定する方法は?
floatCellStyle のような浮動行をスタイルする方法はありますか? floatCellRenderer があることがわかりますが、特にスタイルには何もありません。
reactjs - ag-grid-react が正しくレンダリングされない
ドキュメントのサンプルに従ってください: https://www.ag-grid.com/best-react-data-grid/index.php
新しい反応アプリを作成した後(異なるマシンで数回試しました)
スタイルシート (ag-grid.css & theme-fresh.css) を適用すると、ページ全体に灰色の線が表示されます。その他の組み合わせでは、空白のページが表示されます。ag-grid.css を削除すると、グリッドがレンダリングされますが、あちこちごちゃごちゃになっています。
最近、これを React でうまく使用した人はいますか? 誰かが何か違うものをお勧めしますか? (要件: ページング、並べ替え、フィルタリング、選択可能な行)
ありがとう :-)
reactjs - ag-grid-react cellEditorコンポーネントで「Enter」キーを押した場合のイベントの伝播を防ぐ方法は?
私の質問は主に、反応コンポーネントに関するドキュメントの次のステートメントを中心に展開しています。
cellEditor パラメータ
キーが押されたことをグリッドに通知するonKeyDownコールバック - コントロール キー イベント (タブ、矢印など) をグリッドに戻すのに役立ちます - ただし、グリッドはイベントが伝播するときに既にリッスンしているため、これを呼び出す必要はありません。これは、イベントの伝播を防止する場合にのみ必要です。
コンポーネントの反応バージョンに渡される小道具としてcellEditorパラメーターが存在することは理解していますが、ドキュメントで指定されているようにonKeyDownにアタッチする方法が見つからないようです。cellEditor のコンストラクターには onKeyDown 関数が存在し、列定義内でonKeyDown
指定されたものと一致します (存在する場合)。cellEditorParams
しかし、それが単にコンポーネントに存在する場合、到達することはありません
onKeyDown={this.props.onKeyDown}
入力の周りにトップレベルのラップ divを配置すると呼び出されますが、それでも「Enter」キーを押してもキャッチされません。
カスタムセルエディターを含むセルを聞いてみました
エンタープレスをキャプチャするのはどれですか?フィールド内の最後のエンタープレスをキャプチャする前に、エンターキーを押すとアンマウントされますか? これも機能しない動作を見たことがあるので、非常に混乱しています。
私は現在、単純なセル エディターMyCellEditorを持っており、タブだけでなく Enter キーを押したときにフォーカスを合わせて次のセルを選択しようとしています。私はすでに、次のように使用するrowRendererから必要なrowIndex
およびプロパティを抽出する機能を持っています:column
this.props.api.rowRenderer
this.props.api.rowRenderer.moveFocusToNextCell(rowIndex, column, false, false, true);
私の問題は、デフォルトで「Enter」キーを押してイベントの伝播を防ぐ場所です。
以下は私のセルエディタと使用法です。
列の定義:
反応: