簡體   English   中英

從D3中的函數中分配兩個類名

[英]Assigning two class names from functions in D3

我很難為d3元素分配多個函數和類名。 我努力了 :

.attr('class', (d) => `${d['ORDER_CATALOG_TYPE']}`, (d)`${d['ORDER_STATUS']}`)

(這會將第一個返回的函數指定為類,但不會指定第二個函數。)

以及

.classed((d) => '${d["ORDER_CATALOG_TYPE"]}', true)

(這將函數指定為類的名稱)

任何有關這方面的見解將不勝感激!

您可以通過空格分隔幾個類來添加:

.attr("class", "class1 class2")

請參閱: https//jsfiddle.net/js84ptey/1/

能夠通過使用嵌套函數將函數的結果指定為類名來創建解決方法。

function getClassAssignment (attString) {

  return function (d) { 
    let element = select(this);
    element.classed (d[attString], true);
    return element.attr('class');
  }
}

這保留了舊的類名,我可以分配新的類名

.attr('class', getClassAssignment('ORDER_CATALOG_TYPE'))
.attr('class', getClassAssignment('ORDER_STATUS'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM