Как добавить прослушиватель событий в Figma currentPage
Я написал плагин с пользовательским интерфейсом для Figma, используя figma-api и TypeScript. Проект состоит из двух основных файлов:
code.ts
для вызоваfigma-api
ui.html
с участием<script>...</script>
с пользовательским интерфейсом плагина.
Мой плагин работает с данными выбора на текущей странице, поэтому я отправляю с code.ts
в ui
данные, например, этого объекта:
figma.currentPage.selection[0]
Как я могу добавить прослушиватель событий в figma.currentPage
? Например, если пользователь выбрал какой-то другой элемент на доске Figma, figma.currentPage.selection
изменится, и я хочу отправить новые данные в ui
,
У тебя есть идеи?
3 ответа
Думаю, это ответ.
figma.on('selectionchange', () => {
console.log(figma.currentPage.selection);
});
Вероятно, не лучший подход, а скорее быстрый взлом, который работает. Я ищу тот же ответ, но сейчас я делаю это.
По сути, назначьте начальный слой переменной. Затем каждые несколько секунд проверяйте наличие изменений, и если var отличается от предыдущего, назначьте новый.
Я надеюсь, что это поможет, пока мы не получим нормальный способ сделать это.
var selected;
selected = figma.currentPage.selection[0];
setInterval(() => {
var selectedNew = figma.currentPage.selection[0];
if (selected != selectedNew) {
selected = selectedNew;
}
}, 3000)
Идеальный способ сделать это — использовать
figma.on("selectionchange" , () => {
// insert your code here
})