如何为 Figma currentPage 添加事件监听器

How add event listener to Figma currentPage

我使用 figma-api 和 TypeScript 为 Figma 编写了带有 UI 的插件。 项目由两个主要文件组成:

我的插件正在处理当前页面上的选择数据,所以我从 code.ts 发送到 ui 例如这个对象的数据:

figma.currentPage.selection[0]

如何向 figma.currentPage 添加事件侦听器?例如,如果用户在 figma board 上选择了一些其他元素,figma.currentPage.selection 将会改变,我想将新数据发送到 ui

你有什么想法吗?

可能不是最好的方法,而是一种行之有效的快速破解方法。我正在寻找相同的答案,但现在,我这样做了。

基本上,分配一个初始变量层。然后,每隔几秒检查一次变化,如果 var 与以前的 var 不同,则分配一个新的。

我希望这对我们有帮助,直到我们找到一个正常的方式来做这件事。

    var selected;

    selected = figma.currentPage.selection[0];

    setInterval(() => {

      var selectedNew = figma.currentPage.selection[0];

      if (selected != selectedNew) {

        selected = selectedNew;

      }

    }, 3000)

我想这就是答案。

figma.on('selectionchange', () => {
  console.log(figma.currentPage.selection);
});

https://www.figma.com/plugin-docs/api/properties/figma-on/

完美的方法是使用

figma.on("selectionchange" , () => {
// insert your code here
})