2016-08-28 81 views
1

私はほとんどの列に対してReactでcellRendererを使いたいと思います。だから、私のcolDefsでは、私はユニットと呼ばれる追加のフィールドがあります。ユニットが存在する場合は、TableCell Reactコンポーネントで処理されるカラーグリッドのようなヒートマップを作成しようとしています。この同じ反応コンポーネントは、ZippyUIのような他のデータグリッドでも機能しています。 cellRenderer関数は、仮想DOMオブジェクトであるReactコンポーネントを返すことができますか、それとも真のHTML DOMオブジェクトでなければなりませんか? ag-GridのcellRendererコンポーネントメソッドでこれを行うのが望ましいでしょうか?ag-GridのcellRenderer関数がReactコンポーネントを返すことはできますか?

colDefs.map((x) => { 
    if (x.hasOwnProperty('unit')) { 
     x.cellRenderer = (params) => { 
      return <TableCell value={params.value} units={x.unit} min={min[x.field]} max={max[x.field]} colorScheme={colorScheme} />; 
     }; 
    } 
}); 

答えて

1

私は必要とされている実装を理解し、将来のユーザーのためにこの質問を残しておきたいと思いました。コンポーネントのアプローチが必要と思われ、cellRendererParmsを使用して追加の引数を渡すことができます。次に、実際のレンダラー(以下のReactTableCellRenderer)内で、this.props.params.unitsを使用してそれらのオブジェクトにアクセスできます(または、オブジェクト内で渡した他のパラメータで単位を置き換えることもできます)。 cellRendererParams介して渡さ

colDefs.map((x) => { 
     if (x.hasOwnProperty('unit')) { 
      x.cellRenderer = reactCellRendererFactory(ReactTableCellRenderer); 
      x.cellRendererParams = {units: x.unit, min: min[x.field], max: max[x.field], colorScheme: colorScheme}; 
     } 
    }); 

のparamsは、this.props.params.units(単位または代替適切vairable名)反応させについて

0

介して(私の場合、ReactTableCellRendererで)反応させコンポーネント内で利用可能ですcellRenderercellEditorなどを使用する代わりに、cellRendererFramework, cellEditorFrameworkを使用し、setUprenderのメソッドを持つクラスを渡したいとします。

+1

これは、グリッド上での開発の速さを示しています。私はこれを最初に投稿して以来、まともな変化がありました。ちょうどロールアウトしたag-grid v16では、cellRendererFrameworkは必要ありません。次の反応例をご覧ください:https://www.ag-grid.com/javascript-grid-cell-rendering-components/ – dsh

関連する問題