我在矩形中添加了一个D3文本,其中文本字段的值以编程方式更新。现在我需要根据文本值长度扩展宽度,但要确保将默认宽度保持为最小宽度。 我试过获取新的value.length并更新d3文本宽度,如下所示。
var length = //length of the updated text value
var elm = d3.selectAll("[id=s1]");
elm.attr('width', function(d) { return length; });
这很好但是当我删除文本时D3文本框也一直缩小。我需要保持默认宽度,然后如果值长于此值则增加。知道怎么做吗?
答案 0 :(得分:1)
您可以使用ternary operator检查最小值:
elm.attr('width', function() {
return length < minimumValue ? minimumValue : length;
});
minimumValue
当然是您的最低价值。