主题
ClientAction
客户端可在不往返你的 Python 代码的情况下执行的动作基类。
将一个(或一组)此类动作赋给 Button 等控件的 action 属性,它会在控件被激活的瞬间执行。
浏览器只允许页面在用户的点击或按键仍被处理期间,打开文件选择器、写入剪贴板、显示分享面板或打开新标签页。把点击发送到你的 Python 代码再依据返回结果执行,耗时超过了该权限的有效期,因此在 iOS Safari 上这些操作会被静默忽略,而 Android 和桌面浏览器则会放行。客户端动作通过在客户端、在原始手势内部执行操作,填补了这一空白。
由于动作会在你的代码收到点击之前运行,其参数必须提前确定。如果想对一个仅在点击时才计算出来的值进行操作,应在点击之前先把它设置到控件上。
注意: 动作不可直接构造——请使用其子类之一,每个子类都位于它所驱动的相应服务旁边: OpenUrl、CopyToClipboard、 PickFiles 和 ShareText。
属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
service_id | int | 0 | Internal id of the service that performs this action on the client. |
method | str | '' | Name of the service method invoked on the client. |
args | dict[str, Any] | {} | Arguments passed to method. |