跳到主要内容

按钮 Button

可点击的容器组件。文字、图标都通过子节点(文本 / 图标 / 图片)表达,按钮 自己只负责交互。

用法

编辑器加 按钮(Button),把要显示的子组件拖进去:

按钮 (Button)
├─ 图标 (Icon, glyph = "plus")
└─ 文本 (Text, content = "添加")

然后在 按钮 的「点击」字段(event.click)写一段 JS 片段。用户点了之后,这段 JS 会被拼到主 JS 末尾一起跑,实现「响应点击 → 更新状态 → 卡片重渲」。

点击事件 (click)

最常用的 4 种姿势:

1. 刷新

click: refresh

直接重新执行卡片主 JS,通常配合 Config.set / Shared.set 拿到最新数据。

2. 改一个本地变量

click: counter = counter + 1

不要忘了配合 Config.set 持久化,不然下次刷新会丢:

click: counter = (counter || 0) + 1; Config.set("counter", counter)

3. 调一个函数

click: increment()

主 JS 里定义 increment:

function increment() {
const n = Config.get("counter", 0) + 1
Config.set("counter", n)
}

4. 跳 URL

click: openUrl("https://example.com/x")

或带状态:

click: openUrl("myapp://detail?id=" + currentId)

属性

属性类型说明
clickevent点击时执行的 JS 片段
width / height / padding同 Stack
backColor / cornerRadius / opacity同 Stack

按钮 内的文字 / 字号 / 字色直接由子节点(文本 / 图标)的属性决定,按钮自己不暴露字体相关字段。

注意事项

click 片段也是 JS

它会被拼到主 JS 末尾跑,所以主 JS 顶层定义的变量、函数、Setting / Config 都能访问。注意别在 click 片段里写 return(会污染包裹的 IIFE)。

click 也走 4.5s 上限

click 片段里调 Request 这种异步逻辑,跟主 JS 共享 4.5s 预算。点击立即跑接口要做好兜底,网络慢会被砍。