QORMQORM v0.8.4 api 开始使用 EN

手势

QORM 把触摸/指针手势作为组件属性提供——无需编写 JavaScript。

手势怎么用
点按 / 双击 / 长按任意节点上的 onPress / onDoubleTap / onLongPress
场景滑动(游戏操控)场景级 swipes 映射——{"left": "slideLeft", …}——是场景 keys 的触摸对应物;按下后朝某个主导方向拖动再抬起即派发绑定的动作,同一款游戏在桌面用方向键、在手机上用滑动即可畅玩
滑动删除onDismisseddismissible 组件
滑动露出操作actions 列表的 swipeactions 组件
可滑动分页水平方向的 scroll(滚动吸附)
下拉刷新onRefreshscroll
拖拽重排reorderable: true + onReorderlist
上下文菜单节点上的 contextMenu
跨组件拖放draggabledragtarget 跨面板拖拽
悬停反馈任意节点的 hoverBackgroundhoverOpacityhoverScale
按压反馈任意节点的 pressedBackgroundpressedOpacitypressedScale
动画过渡任意节点的 transition: "0.2s" 动画化交互效果变化
滚动动量滚动视口在滚轮/触控板输入后有惯性
画板平移动量无限画布在拖动松手后有惯性滑行

文本输入编辑(原生 canvas 后端)

原生 canvas 窗口实现了完整的文本编辑系统:

(textarea 中)或全选(单行 input 中),拖拽选择文本。

时换行符转为空格)。系统剪贴板在 macOS 上通过 pbcopy/pbpaste 访问。

或缓冲区首/尾(input),Up/Down 逐行(仅 textarea)。

均替换选中内容。

回写。

minmaxstep 属性约束提交值。

滚动动量

原生 canvas 引擎在滚轮/触控板输入停止后对滚动视口施加惯性:

累积出平滑速度,离散滚轮事件产生微弱的后续滑行。

走两步。

修复顶部的任何 overshoot。

画板平移动量

无限画布 board 根节点在拖动松手后滑行:

长的滑行(约 50 帧 / 833ms),画布感更强。

动画交互过渡

任意节点可声明 transition 时长("0.2s""200ms")来动画化交互效果变化:

缩放节点,通过 Float64Tween 使用主题缓动曲线。

一起动画。

禁用状态视觉淡化

禁用节点("disabled": true在 style 中)在原生 canvas 后端自动以 50% 透明度渲染:

通用淡化之外以防双重淡化。

——全部在引擎层处理,无需逐组件重复逻辑。