原子类支持
原子类指 .class(...) builder 带来的能力。它适合在创建控件时用一串类名快速配置布局和样式。
使用 .class(...) 需要启用 class feature。具体类名语法见 class 语法解析基础,内置 layout class 清单见 layout class 语法。
基本写法
导入 ClassBuilder 后,所有控件都可以调用 .class(...)。
.class(...) 只有一个方法入口。当前没有 classes(...)、add_class(...)、remove_class(...) 这几个 builder 方法;要设置多个类,直接写在同一个字符串里,用空格分隔。
可以传什么
.class(...) 的参数需要能生成 String。常用写法有三种:
闭包版本会随依赖变化重新生成类名,适合控制显示隐藏、尺寸、状态样式等。
类名怎样生效
同一串类名里可以同时写 layout class 和控件样式 class:
其中 layout class 由 Flor 统一解析;控件样式 class 由具体控件自己解析。不同控件支持的样式类不完全一样,不认识的类会被忽略。
完整解析规则查 class 语法解析基础。layout class 支持列表查 layout class 语法。
状态写法
类名可以带 hover:、focus:、active:、disabled: 这类状态前缀。
状态前缀的解析规则见 class 语法解析基础。
和 layout / style 的关系
Flor 的设计里,class 是面向快速开发的字符串表达层。它可以描述 layout 的值,也可以描述控件 style 的值,所以适合写简短、可读、接近 Tailwind 的配置:
.layout(...) 是直接设置布局的强类型 builder。.style(...) 是直接设置控件样式的强类型 builder。.class(...) 主要是为了快速开发,所以作为可选 feature 提供。
三者可以同时使用;同一项配置以后写入的值为准。

