enter()とexit()はD3で更新されたデータをどのように検出しますか?

ブルーノペレル

表示されている2つのSVGのそれぞれでユーザーがポイントを選択する必要がある小さなUIを構築しています。

これらのポイント座標は、SVGの下に表示されます。enter()andexit()メソッドを使用したD3のデータバインディングを使用してこれを実現したいと思います。ただしenter()、バインドされた要素でメソッドを呼び出しても、D3はポイント座標を表示する部分を常に更新するとは限らないようですexit()ただし、データを削除する場合、メソッドは機能します。

これがメインコードです:

function showPoints() {
  var coordinatesElements = d3.select('#coordinates').selectAll('.point').data(points);
  coordinatesElements.enter().append('div').classed('point', true)
    .text(function (d) {
      var textParts = [];
      if (d.firstSvg) { textParts.push('first : '+JSON.stringify(d.firstSvg)); }
      if (d.secondSvg) { textParts.push('second : '+JSON.stringify(d.secondSvg)); }
      return textParts.join(' - ');
    })
    .append("span")
    .classed('removeCalibrationPoint', true)
    .html(" X")
    .on('click', function(d, i) {
      points.splice(i, 1);
      showPoints();
    });

  coordinatesElements.exit().remove();
}

問題を示すJSBinフィドルを作成しました

Lars Kotthoff

最初の問題は、HTMLにdivのクラスがあることですpointこれはによって選択され、.selectAll('.point')データの最初の要素が表示されなくなります。

2番目の問題は、更新の選択を処理していないことです。場合によっては、新しいデータを追加するのではなく、既存のデータを変更します。次のコードは、更新選択のデータのテキストを更新します。

coordinatesElements.text(function (d) {
  var textParts = [];
  if (d.firstSvg) { textParts.push('first : '+JSON.stringify(d.firstSvg)); }
  if (d.secondSvg) { textParts.push('second : '+JSON.stringify(d.secondSvg)); }
  return textParts.join(' - ');
});

ここで完全なデモ更新選択にのみテキストを設定することでコードを少し簡略化したことに注意してください。入力選択から追加された要素は更新選択にマージされるため、2回行う必要はありません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

「別のディスプレイが検出されませんでした」が検出されました。3台目のモニターを修正するにはどうすればよいですか?

分類Dev

d3グラフのデータを更新するにはどうすればよいですか?

分類Dev

d3 zoomBehaviorを使用して、ユーザーによるパンとズームを検出するにはどうすればよいですか?

分類Dev

__enter__と__exit__はPythonデコレータクラスでどのように機能しますか?

分類Dev

D3の各データ要素に対して「呼び出し」を実行するにはどうすればよいですか?

分類Dev

ドラッグ時にd3でデータが正しく渡されることを確認するにはどうすればよいですか?

分類Dev

設定したd3ストロークスタイルがデバッガーでは空の文字列として表示されますが、画面では赤で表示されるのはなぜですか?ストロークスタイルにアクセスするにはどうすればよいですか?

分類Dev

データが更新されたときに再利用可能なd3.jsグラフを更新するにはどうすればよいですか?

分類Dev

パラメータとして渡された関数のパラメータタイプを検出するにはどうすればよいですか?

分類Dev

django Rest Framework 3.1 ModelSerializerで作成/更新を処理します。ネストされたデータを検証するにはどうすればよいですか?

分類Dev

MySQLとInnoDB-一意でないインデックスでWHEREを使用して更新-行はどのように検出されますか?

分類Dev

「transition()」呼び出しなしでD3で生成されたHTMLテーブルをソートするにはどうすればよいですか?

分類Dev

「transition()」呼び出しなしでD3で生成されたHTMLテーブルをソートするにはどうすればよいですか?

分類Dev

プログラムは、systemdデーモンとして実行されているかどうかをどのように検出できますか?

分類Dev

周辺機器がアドバタイズ日付を停止したことを検出して、その周辺機器フォームで検出されたデバイスリストを削除するにはどうすればよいですか?

分類Dev

WEBサービスから受信したD3のJSONデータを使用するにはどうすればよいですか?

分類Dev

データ検証を使用して1つのセルが変更されたときに、別のシートの値と一致するようにセルを自動的に更新するにはどうすればよいですか?

分類Dev

外れ値検出方法を介して実験を行うために、周期的またはシーケンスベースのデータで外れ値としてインパルスを生成するにはどうすればよいですか?

分類Dev

D3とBootstrapを使用してすべてのデータ要素を表示するにはどうすればよいですか?

分類Dev

JSまたはjQueryを使用して非表示のキー(ENTER、F1、SHIFT)を完全に検出するにはどうすればよいですか?

分類Dev

sqlite3がデータベースファイルを作成したかどうかを検出するにはどうすればよいですか?

分類Dev

ionic 3でデータが変更されたときに、変数の値を自動的に更新するにはどうすればよいですか?

分類Dev

特定のFirebaseストレージパスデータが変更されたかどうかを検出するにはどうすればよいですか

分類Dev

カーソルが移動したときにデータがWPFで更新されることを検出するにはどうすればよいですか?

分類Dev

適用されたACLに基づいて、ループバック3でモデルの「検索」を呼び出すことから生じるデータを制限するにはどうすればよいですか?

分類Dev

D3:データファイルソースを変更してグラフを動的に更新するにはどうすればよいですか?

分類Dev

D3のデータに応じて要素を作成するにはどうすればよいですか?

分類Dev

onchangeスライダーイベントでd3チャートのデータを更新するにはどうすればよいですか?

分類Dev

React Nativeでテーブルが更新されたときにSQLiteから取得したデータを更新するにはどうすればよいですか?

Related 関連記事

  1. 1

    「別のディスプレイが検出されませんでした」が検出されました。3台目のモニターを修正するにはどうすればよいですか?

  2. 2

    d3グラフのデータを更新するにはどうすればよいですか?

  3. 3

    d3 zoomBehaviorを使用して、ユーザーによるパンとズームを検出するにはどうすればよいですか?

  4. 4

    __enter__と__exit__はPythonデコレータクラスでどのように機能しますか?

  5. 5

    D3の各データ要素に対して「呼び出し」を実行するにはどうすればよいですか?

  6. 6

    ドラッグ時にd3でデータが正しく渡されることを確認するにはどうすればよいですか?

  7. 7

    設定したd3ストロークスタイルがデバッガーでは空の文字列として表示されますが、画面では赤で表示されるのはなぜですか?ストロークスタイルにアクセスするにはどうすればよいですか?

  8. 8

    データが更新されたときに再利用可能なd3.jsグラフを更新するにはどうすればよいですか?

  9. 9

    パラメータとして渡された関数のパラメータタイプを検出するにはどうすればよいですか?

  10. 10

    django Rest Framework 3.1 ModelSerializerで作成/更新を処理します。ネストされたデータを検証するにはどうすればよいですか?

  11. 11

    MySQLとInnoDB-一意でないインデックスでWHEREを使用して更新-行はどのように検出されますか?

  12. 12

    「transition()」呼び出しなしでD3で生成されたHTMLテーブルをソートするにはどうすればよいですか?

  13. 13

    「transition()」呼び出しなしでD3で生成されたHTMLテーブルをソートするにはどうすればよいですか?

  14. 14

    プログラムは、systemdデーモンとして実行されているかどうかをどのように検出できますか?

  15. 15

    周辺機器がアドバタイズ日付を停止したことを検出して、その周辺機器フォームで検出されたデバイスリストを削除するにはどうすればよいですか?

  16. 16

    WEBサービスから受信したD3のJSONデータを使用するにはどうすればよいですか?

  17. 17

    データ検証を使用して1つのセルが変更されたときに、別のシートの値と一致するようにセルを自動的に更新するにはどうすればよいですか?

  18. 18

    外れ値検出方法を介して実験を行うために、周期的またはシーケンスベースのデータで外れ値としてインパルスを生成するにはどうすればよいですか?

  19. 19

    D3とBootstrapを使用してすべてのデータ要素を表示するにはどうすればよいですか?

  20. 20

    JSまたはjQueryを使用して非表示のキー(ENTER、F1、SHIFT)を完全に検出するにはどうすればよいですか?

  21. 21

    sqlite3がデータベースファイルを作成したかどうかを検出するにはどうすればよいですか?

  22. 22

    ionic 3でデータが変更されたときに、変数の値を自動的に更新するにはどうすればよいですか?

  23. 23

    特定のFirebaseストレージパスデータが変更されたかどうかを検出するにはどうすればよいですか

  24. 24

    カーソルが移動したときにデータがWPFで更新されることを検出するにはどうすればよいですか?

  25. 25

    適用されたACLに基づいて、ループバック3でモデルの「検索」を呼び出すことから生じるデータを制限するにはどうすればよいですか?

  26. 26

    D3:データファイルソースを変更してグラフを動的に更新するにはどうすればよいですか?

  27. 27

    D3のデータに応じて要素を作成するにはどうすればよいですか?

  28. 28

    onchangeスライダーイベントでd3チャートのデータを更新するにはどうすればよいですか?

  29. 29

    React Nativeでテーブルが更新されたときにSQLiteから取得したデータを更新するにはどうすればよいですか?

ホットタグ

アーカイブ