У меня есть текст D3, добавленный внутри прямоугольника, где значение текстового поля обновляется программно. Теперь мне нужно расширить ширину на основе длины текстового значения, но при этом сохранить ширину по умолчанию как минимальную ширину. Я попытался получить новую value.length и обновить ширину текста d3, как показано ниже.Обновить ширину текста D3 путем добавления новой ширины
var length = //length of the updated text value
var elm = d3.selectAll("[id=s1]");
elm.attr('width', function(d) { return length; });
Это прекрасно работает, но когда я удаляю текст, текстовое поле D3 также полностью сжимается. Мне нужно сохранить ширину по умолчанию, а затем просто увеличить, если значение больше. есть идеи как это сделать?
Привет, Херардо, я пробовал это, но он всегда возвращает значение длины независимо от условия ... Любая идея, почему? – user2894296
Это не имеет никакого смысла. Вставьте точный код, который вы используете. –
var elms = d3.selectAll ("[id = s1]"); var minValue = 130 + 'px'; var dynamic = длина + 'px'; elm.attr ('width', function() { return dynamic
user2894296