attr
選択に関する D3 の操作は、値を受け取るか、データが渡される関数を受け取るなど、用途が広い ( のように)。現在の選択に基づいていくつかのスタイル パラメータを設定したかったのです。
ドキュメントから:私が理解していることから、以下のシナリオが機能します
sel.style("stroke", "#000")
sel.style({"stroke": "#000", "stroke-width": "0.5"})
sel.style("stroke", function(d){return "#000"})
しかし、私が必要としているのは、fn によって返されたオブジェクトを取得することです。
var fn = function(d){
return {"stroke": "#000", "stroke-width": "0.5"}
}
sel.style( fn)
上記の例では、私は何もしませんが、私の場合、合格d
に基づいて決定を下します。d
私は確かに、私は次のようなことができるかもしれません、
sel.style(`fill`, fillFn)
sel.style(`stroke`, strokeFn)
しかし、私は自分のコードを汎用的にしようとしているので、事前にどのスタイルを設定する必要があるのか わからない場合があります.
編集:
私も試しましたselection.property
、、
sel.property("style", fn);
しかし、エラーが発生しました
TypeError: Object [object Array] has no method 'property'
しかし、同じ選択で、もしそうなら
sel.style({"stroke": "#000", "stroke-width": "0.5"})
それは正常に動作します。何が間違っている可能性がありますか?