Взяв задокументированный пример для рендеринга прямоугольных элементов, как я могу изменить цвет при выборе элемента?
Первый шаг — это, конечно, добавить selectedMode: "single"
, но тогда я застрял.
Я попробовал добавить это:
select: {
itemStyle: {
color: "#4338ca",
},
},
emphasis: {
itemStyle: {
color: "#be123c",
},
},
но, похоже, это не учитывается (см. модифицированный пример ).
Бонусный вопрос: метод api.style()
помечен как устаревший, когда я использую его в VS Code или онлайн-редакторе, но в документации пользователя о таком устаревшем не упоминается?
Вам необходимо определить поведение для select и выделения внутри функции renderItem.
Пример :
renderItem: function (params, api) {
...
return {
type: 'rect',
shape: { ... },
style: { ... },
select: {
style: { fill: '#4338ca' }
},
emphasis: {
style: { fill: '#be123c' }
}
};
}
Документация ведется не идеально, часто информация отсутствует или не совсем верна.
Спасибо!! 🙏 Я пробовал что-то подобное, но настроил
select.itemStyle.color
вместоselect.style.fill
(это имеет смысл теперь, когда я думаю об этом, поскольку здесь мы дошли до уровня спецификации SVG).