1

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

  • code.ts打电话figma-api

  • ui.html带有<script>...</script>插件的用户界面。

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

figma.currentPage.selection[0]

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

你有什么想法吗?

4

3 回答 3

2

我想这就是答案。

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

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

于 2020-09-29T05:56:59.357 回答
1

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

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

我希望这会有所帮助,直到我们找到一种正常的方法。

    var selected;

    selected = figma.currentPage.selection[0];

    setInterval(() => {

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

      if (selected != selectedNew) {

        selected = selectedNew;

      }

    }, 3000)
于 2019-08-22T22:39:41.200 回答
-1

完美的方法是使用

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

于 2022-01-16T13:57:08.810 回答