组件支持列表
原子组件可使用的内置组件有限。本文档包含:
*AI 支持范围总表 ** (原子组件可用内置组件及工程补充约束) 2. * *各组件属性对照 ** (按通用 / Skyline / WebView 分项,并标注 FlexUI 交付结论)
对照规则(与
skills/flexui-ascf/flexui-ascf-builtin-component/SKILL.md
一致):
属性全集(通用 + Skyline) → 减去 WebView 特有 → 再减去与 AI 支持列表冲突项 → 最终交付集合
| 交付标记 | 含义 |
|---|---|
| ✅ 纳入 | 通用或 Skyline,且与 AI 列表无冲突,应声明并实现 |
| ⏭️ WebView | 标注为 WebView 特有,不实现、不声明 |
| ⏭️ AI 冲突 | 与下方 AI 支持范围冲突,不实现、不声明 |
| ⚠️ 有条件 | 纳入交付,但通常需 adapter / native 贯通 |
相关本地文档:API 支持列表、WXSS / 运行限制。
AI 支持范围总表
| 组件 | 支持范围 |
|---|---|
| view | 支持 |
| text | 不支持 user-select、overflow=fade |
| map | 不支持拖动、放大交互;MapContext 见 API 支持列表,通过 this.createSelectorQuery 获取 |
| button | 不支持所有 open-type |
| image | 仅支持网络地址;仅支持 png、jpg 格式 |
| canvas | 仅支持 2d;Context 通过 this.createSelectorQuery 获取 |
| scroll-view | 仅支持横向滚动(scroll-x) |
| swiper | 支持 |
| swiper-item | 支持(仅作 swiper 子项) |
| collapsible-view | 支持 |
| input | 支持 |
| textarea | 支持 |
| label | 支持;可绑定 button / checkbox / radio / switch |
| form | 支持;bindsubmit / bindreset;字段须带 name;控件范围见 form 章节 |
说明:AI 列表对 text 明确「不支持 user-select」;工程补充不支持overflow=fade(实现效果与预期不一致,已移除)。
view
视图容器。通用属性均为 hover 系列;无 Skyline / WebView 分项。
AI 限制:支持(无冲突)。
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
hover-class |
string | none |
通用 | 按下去的样式类;none 无点击态 |
✅ 纳入 |
hover-stop-propagation |
boolean | false |
通用 | 是否阻止祖先节点出现点击态 | ✅ 纳入 |
hover-start-time |
number | 50 |
通用 | 按住后多久出现点击态(ms) | ✅ 纳入 |
hover-stay-time |
number | 400 |
通用 | 松手后点击态保留时间(ms) | ✅ 纳入 |
text
文本。内联文本只能用text(或span)。
AI 限制:不支持user-select、overflow=fade。
通用属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
selectable |
boolean | false |
通用(已废弃) | 文本是否可选 | ⏭️ AI 冲突(选中能力) |
user-select |
boolean | false |
通用 | 文本是否可选;会使节点变为 inline-block | ⏭️ AI 冲突 |
Skyline 特有属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
overflow |
string | visible |
Skyline | 文本溢出处理 | 见合法值 |
max-lines |
number | — | Skyline | 限制最大行数 | ✅ 纳入(⚠️ 需 native) |
select-on-gesture |
boolean | true |
Skyline | 是否允许手势选择文本 | ⏭️ AI 冲突(依赖选中) |
overflow
合法值:
| 合法值 | 说明 | FlexUI 交付 |
|---|---|---|
visible |
不截断 | ✅ 纳入 |
clip |
修剪文本 | ✅ 纳入(⚠️ 需 native) |
ellipsis |
显示省略号 | ✅ 纳入(⚠️ 需 native) |
fade |
淡出 | ⏭️ AI 冲突(工程不支持) |
WebView 特有属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
space |
string | — | WebView | 显示连续空格(ensp / emsp / nbsp) |
⏭️ WebView |
decode |
boolean | false |
WebView | 是否解码实体 | ⏭️ WebView |
button
按钮。实现对照:button-vs-components.md。
AI 限制:不支持所有open-type(及其配套属性 / 回调)。
默认尺寸(对齐 ASCF):padding L/R 14px、font 16px、行高/高度 40px、圆角 30px、max-width:448px。默认字色 #0A59F7、底 rgba(0,0,0,0.047);primary 白字蓝底;warn 字 #E84026、底同默认。
通用属性(可交付)
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
size |
string | default |
通用 | default / mini |
✅ 纳入 |
type |
string | default |
通用 | primary / default / warn |
✅ 纳入 |
plain |
boolean | false |
通用 | 镂空、背景透明 | ✅ 纳入 |
disabled |
boolean | false |
通用 | 是否禁用 | ✅ 纳入 |
loading |
boolean | false |
通用 | 名称前是否带 loading 图标 | ✅ 纳入 |
form-type |
string | — | 通用 | submit / reset(及聊天工具相关值) |
✅ 纳入(按需) |
hover-class |
string | button-hover |
通用 | 按下样式类 | ✅ 纳入 |
hover-stop-propagation |
boolean | false |
通用 | 阻止祖先点击态 | ✅ 纳入 |
hover-start-time |
number | 20 |
通用 | 出现点击态延迟(ms) | ✅ 纳入 |
hover-stay-time |
number | 70 |
通用 | 松手后保留(ms) | ✅ 纳入 |
通用属性(AI 冲突 — 不声明)
| 属性 / 事件 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|
open-type |
通用 | 开放能力入口 | ⏭️ AI 冲突 |
lang |
通用 | 返回用户信息语言(配合 open-type) | ⏭️ AI 冲突 |
session-from / send-message-* / show-message-card |
通用 | open-type="contact" 配套 |
⏭️ AI 冲突 |
app-parameter |
通用 | open-type="launchApp" 配套 |
⏭️ AI 冲突 |
phone-number-no-quota-toast |
通用 | 手机号额度提示 | ⏭️ AI 冲突 |
need-show-entrance / entrance-path |
通用 | 转发入口相关 | ⏭️ AI 冲突 |
bindgetuserinfo / bindcontact / bindgetphonenumber / bindgetrealtimephonenumber / binderror / bindopensetting / bindlaunchapp / bindchooseavatar / bindagreeprivacyauthorization / createliveactivity 等 |
通用 | open-type 回调 | ⏭️ AI 冲突 |
open-type
合法值(均不支持):
contact、
share、
getPhoneNumber、
getRealtimePhoneNumber、
getUserInfo、
launchApp、
openSetting、
feedback、
chooseAvatar、
agreePrivacyAuthorization、
liveActivity
等。
image
图片。规格上可支持多种图片格式;
AI 仅网络 png/jpg。
AI 限制:仅网络地址;仅 png、jpg。
通用属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
src |
string | — | 通用 | 图片资源地址(AI:仅网络) | ✅ 纳入(受 URL/格式约束) |
mode |
string | scaleToFill |
通用 | 裁剪/缩放模式 | ✅ 纳入(见下) |
show-menu-by-longpress |
boolean | false |
通用 | 长按菜单 | ⚠️ 按需(平台能力) |
binderror |
eventhandle | — | 通用 | 加载错误 | ✅ 纳入 |
bindload |
eventhandle | — | 通用 | 加载完成 | ✅ 纳入 |
mode
合法值:
| 合法值 | 说明 | FlexUI 交付 |
|---|---|---|
scaleToFill / aspectFit / aspectFill / widthFix / heightFix |
缩放模式 | ✅ 纳入 |
top / bottom / center / left / right / top left / … |
裁剪模式(仅 WebView) | ⏭️ WebView |
Skyline 特有属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
fade-in |
boolean | false |
Skyline | 是否渐显 | ⚠️ 按需 |
preload |
boolean | false |
Skyline | 设置 src 即预下载解码 | ⚠️ 按需 |
WebView 特有属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
webp |
boolean | false |
WebView | 解析 webP(AI 仅 png/jpg,亦冲突) | ⏭️ WebView / AI 冲突 |
lazy-load |
boolean | false |
WebView | 懒加载(Skyline 默认懒加载) | ⏭️ WebView |
forceHttps |
boolean | false |
WebView | http→https | ⏭️ WebView |
canvas
画布。2.9.0 起推荐type新接口。
实现对照:canvas-vs-components.md。
AI 限制:仅 2d;Context 经this.createSelectorQuery获取。
尺寸 tip(对齐微信开放文档):
- canvas 标签默认宽度 300px、高度 150px(可被
style/ class 覆盖) - Canvas 2D 需显式设置画布宽高时:默认 300×150,最大 1365×1365(过大可能导致端侧崩溃;引擎对超限绘制面硬 clamp,布局 CSS 不改;未超限布局与绘制 1:1)
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
type |
string | — | 通用 | 2d / webgl |
✅ 仅 2d;webgl ⏭️ AI 冲突 |
canvas-id |
string | — | 通用 | 旧接口标识;指定 type 后可不设;同页不可重复(重复则隐藏且不再工作 + binderror) |
✅ 纳入(可选) |
disable-scroll |
boolean | false |
通用 | 手势时禁止页面滚动 | ✅ 纳入 |
bindtouchstart / bindtouchmove / bindtouchend / bindtouchcancel / bindlongtap |
eventhandle | — | 通用 | 触摸事件 | ✅ 纳入 |
binderror |
eventhandle | — | 通用 | 错误 | ✅ 纳入 |
map
地图。MapContext 能力见 API 支持列表。
AI 限制 ** :不支持拖动、放大交互(用户手势)。
基础属性(节选)
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
longitude |
number | — | 通用 | 中心经度 | ✅ 纳入 |
latitude |
number | — | 通用 | 中心纬度 | ✅ 纳入 |
scale |
number | 16 |
通用 | 缩放级别 3–20 | ✅ 纳入(程序设置;非手势) |
min-scale / max-scale |
number | 3 / 20 |
通用 | 缩放范围 | ✅ 纳入 |
markers |
Array | — | 通用 | 标记点 | ✅ 纳入 |
polyline |
Array | — | 通用 | 路线 | ✅ 纳入 |
circles |
Array | — | 通用 | 圆 | ✅ 纳入 |
polygons |
Array | — | 通用 | 多边形 | ⚠️ 按需 |
include-points |
Array | — | 通用 | 缩放视野包含点 | ⚠️ 按需 |
show-location |
boolean | false |
通用 | 显示定位点 | ⚠️ 按需 |
show-compass |
boolean | false |
通用 | 指南针 | ⚠️ 按需 |
show-scale |
boolean | false |
通用 | 比例尺 | ⚠️ 按需 |
enable-zoom |
boolean | true |
通用 | 是否支持用户缩放 | ⏭️ AI 冲突 |
enable-scroll |
boolean | true |
通用 | 是否支持用户拖动 | ⏭️ AI 冲突 |
enable-rotate |
boolean | false |
通用 | 是否支持旋转 | ⚠️ 按需(非拖动/放大) |
enable-3D / enable-overlooking / enable-satellite / enable-traffic / enable-poi / enable-building |
boolean | — | 通用 | 图层/显示开关 | ⚠️ 按需 |
rotate / skew |
number | 0 |
通用 | 旋转/倾斜角 | ⚠️ 按需 |
subkey / layer-style / setting |
— | — | 通用 | 个性化/配置 | ⚠️ 按需 |
covers / controls |
Array | — | 通用 | 已废弃 | ⏭️ 不声明 |
bindmarkertap / bindcallouttap / bindregionchange / bindpoitap / bindtap 等 |
eventhandle | — | 通用 | 地图事件 | ✅ / ⚠️ 按需 |
scroll-view
可滚动视图。竖向滚动需固定高度。
*AI
限制
**
:仅支持横向滚动(
scroll-x
)。因此
scroll-y
、下拉刷新全套、以及依赖纵向滚动的能力均
⏭️。
实现对照:scroll-view-vs-components.md。
通用属性(与横向相关 / 可交付)
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
scroll-x |
boolean | false |
通用 | 允许横向滚动 | ✅ 纳入 |
scroll-left |
number/string | — | 通用 | 横向滚动位置 | ✅ 纳入 |
upper-threshold / lower-threshold |
number/string | 50 |
通用 | 触发边界事件距离 | ✅ 纳入(横向边界) |
scroll-into-view |
string | — | 通用 | 滚到子元素 id | ✅ 纳入(横向) |
scroll-into-view-offset |
number | 0 |
通用 | into-view 额外偏移 | ⚠️ 按需 |
scroll-with-animation |
boolean | false |
通用 | 滚动动画 | ✅ 纳入 |
enable-passive |
boolean | false |
通用 | passive 优化 | ⚠️ 按需 |
show-scrollbar |
boolean | true |
通用 | 滚动条显隐(enhanced 相关) | ✅ 纳入(adapter → showScrollIndicator;C++ 构造默认 true,2026-07-26 重建确认) |
bindscroll / bindscrolltoupper / bindscrolltolower |
eventhandle | — | 通用 | 滚动/边界事件 | ✅ 纳入 |
通用属性(AI 冲突 — 纵向 / 刷新等)
| 属性 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|
scroll-y |
通用 | 纵向滚动 | ⏭️ AI 冲突 |
scroll-top |
通用 | 竖向滚动位置 | ⏭️ AI 冲突 |
enable-back-to-top |
通用 | 点状态栏回顶(仅竖向) | ⏭️ AI 冲突 |
refresher-enabled / refresher-threshold / refresher-default-style / refresher-background / refresher-triggered |
通用 | 自定义下拉刷新 | ⏭️ AI 冲突 |
bindrefresherpulling / bindrefresherrefresh / bindrefresherrestore / bindrefresherabort |
通用 | 刷新事件 | ⏭️ AI 冲突 |
bounces / fast-deceleration / binddragstart / binddragging / binddragend |
通用 | enhanced 配套 | ⏭️ 按 AI 仅 scroll-x 收紧,默认不声明 |
Skyline 特有属性(节选)
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
clip |
boolean | true |
Skyline | 溢出裁剪 | ⚠️ 待映射(ArkUI 原生 Scroll 默认 true=裁剪,但 adapter/C++ 尚未添加 clip 属性映射,当前不可控;实现需 C++ 添加 SetPropImpl → SetClip) |
type / associative-container / reverse / cache-extent / nested·list 模式 / worklet 回调 / two-level refresher 等 |
— | — | Skyline | 列表/嵌套/二级刷新等 | ⏭️ 默认不纳入(超出 AI 横向范围或依赖纵向) |
WebView 特有属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
enable-flex |
boolean | false |
WebView | flex 布局 | ⏭️ WebView |
enhanced |
boolean | false |
WebView | 增强特性 / ScrollViewContext | ⏭️ WebView |
paging-enabled |
boolean | false |
WebView | 分页滑动(需 enhanced) | ⏭️ WebView |
using-sticky |
boolean | false |
WebView | sticky 生效 | ⏭️ WebView |
swiper
滑块视图容器。其中只可放置 swiper-item 组件,否则会导致未定义的行为。
官方文档:swiper(更新时间 2026-08-03)。起始版本:1.0.0。
Hippy 映射:ViewPager(见 Hippy swiper)。实现对照:swiper-vs-components.md。
约束与限制:swiper 高度可通过设置 swiper-item 元素高度来控制;swiper-item 的高度取决于第一个 swiper-item 的高度。
AI 限制:支持。
属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
indicator-dots |
boolean | false |
通用 | 是否显示面板指示点 | ✅ 纳入 |
indicator-color |
string | rgba(0, 0, 0, 0.3) |
通用 | 指示点颜色 | ✅ 纳入 |
indicator-active-color |
string | #0A59F7 |
通用 | 当前选中的指示点颜色 | ✅ 纳入 |
current |
number | 0 |
通用 | 当前所在滑块的 index(起始版本 1.0.3) | ✅ 纳入 |
autoplay |
boolean | false |
通用 | 是否自动切换 | ✅ 纳入 |
interval |
number | 5000 |
通用 | 自动切换时间间隔(ms) | ✅ 纳入 |
duration |
number | 500 |
通用 | 滑动动画时长(ms) | ✅ 纳入 |
circular |
boolean | false |
通用 | 是否采用衔接滑动 | ✅ 纳入 |
vertical |
boolean | false |
通用 | 滑动方向是否为纵向 | ✅ 纳入 |
display-multiple-items |
number | 1 |
通用 | 同时显示滑块数;纵/横均分主轴依赖 NBE Yoga 100/N%(见 swiper-vs §5) |
✅ 纳入 |
previous-margin |
string | "0px" |
通用 | 前边距;支持 px / rpx(rpx=n * windowWidth/750,见 swiper-vs) |
✅ 纳入 |
next-margin |
string | "0px" |
通用 | 后边距;支持 px / rpx(同上) | ✅ 纳入 |
disable-touch |
boolean | false |
通用 | 是否禁止用户 touch 操作 | ✅ 纳入 |
事件
| 事件 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
bindchange |
eventhandle | — | 通用 | detail:{current,currentItemId,source};source=touch/autoplay/"" |
✅ 纳入 |
bindtransition |
eventhandle | — | 通用 | swiper-item 位置改变时触发;detail:{dx,dy}(横向 offset→dx,纵向→dy) |
✅ 纳入 |
bindanimationfinish |
eventhandle | — | 通用 | 动画结束;detail 同 change(含 source) |
✅ 纳入 |
swiper-item
swiper 组件的子组件。
官方文档:swiper-item(更新时间 2026-08-03)。起始版本:1.0.0。
Hippy 映射:ViewPagerItem(见 Hippy swiper-slide)。实现对照:swiper-vs-components.md。
约束与限制:仅可放置在 swiper 组件中,宽高自动设置为 100%。
AI 限制:支持(仅作 swiper 子项)。
属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
item-id |
string | — | 通用 | swiper-item 的标识符 | ✅ 纳入 |
collapsible-view
AI 限制 ** :支持。
AI 列表收录该组件;属性细节以实现与产品约定为准,差距分析时按「通用 + Skyline − WebView − AI 冲突」流程补表。
input
单行输入框。宿主节点即为交互节点(Web:HTMLInputElement;Native:TextInput)。
实现对照:input-vs-components.md。
AI 限制:支持(无冲突项;safe-password / always-embed 等见 WebView 或平台专有,不纳入)。
通用属性(可交付)
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
value |
string | — | 通用 | 输入内容 | ✅ 纳入 |
type |
string | text |
通用 | 键盘类型(见合法值) | ✅ 纳入(见下) |
password |
boolean | false |
通用 | 密码态(优先于 type) |
✅ 纳入 |
placeholder |
string | — | 通用 | 占位符文案 | ✅ 纳入 |
placeholder-style |
string | — | 通用 | 占位符行内样式(常用 color / font-size / font-weight) |
✅ 纳入(⚠️ Native 以 color → placeholderTextColor 为主) |
placeholder-class |
string | input-placeholder |
通用 | 占位符样式类(微信标 WebView;FlexUI 纳入;仅解析 color 等有限属性) | ✅ 纳入(⚠️ 依赖页面 CSS 解析) |
disabled |
boolean | false |
通用 | 是否禁用 | ✅ 纳入(⚠️ Domlike 直通;Native 需 editable/enabled 贯通) |
maxlength |
number | 140 |
通用 | 最大长度;-1 不限制 |
✅ 纳入(-1 → Native ResetMaxLength) |
focus |
boolean | false |
通用 | 拉起/收起焦点 | ✅ 纳入(⚠️ Native:focusTextInput / blurTextInput) |
confirm-type |
string | done |
通用 | 键盘右下角文案;主要在 type=text 时生效 |
✅ 纳入 |
bindinput |
eventhandle | — | 通用 | 输入时;detail = { value, cursor, keyCode };须用 bind 前缀连写(bindinput,勿仅写 input) |
✅ 纳入 |
bindfocus / bindblur |
eventhandle | — | 通用 | 聚焦:detail = { value, height }(height 为键盘高度);失焦:detail = { value, cursor };写法同左 |
✅ 纳入 |
bindconfirm |
eventhandle | — | 通用 | 点击完成;detail = { value };写法 bindconfirm |
✅ 纳入 |
bindchange |
eventhandle | — | 通用 | 规格为非聚焦态内容变更(≠ bindinput) |
⏭️ 暂不支持 |
type 合法值:
| 合法值 | 说明 | FlexUI 交付 |
|---|---|---|
text |
文本键盘 | ✅ 纳入 |
number |
数字键盘 | ✅ 纳入 |
idcard |
身份证键盘 | ⏭️ 不纳入(非法值回退 text) |
digit |
带小数点数字键盘 | ⏭️ 不纳入(非法值回退 text) |
safe-password |
安全密码键盘(仅 WebView) | ⏭️ WebView |
nickname |
昵称键盘 | ⏭️ 默认不纳入(平台审核链路) |
confirm-type 合法值:send / search / next / go / done(均 ✅ 纳入;表现依赖系统输入法)。
通用属性(默认不声明 / 有条件)
| 属性 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|
cursor-spacing / adjust-position / hold-keyboard / confirm-hold |
通用 | 键盘与页面推挤 | ⚠️ 按需(强依赖平台) |
auto-focus |
通用 | 已废弃,用 focus |
⏭️ 不声明 |
cursor / cursor-color / selection-start / selection-end |
通用 | 光标与选区 | ⚠️ 按需 |
bindkeyboardheightchange |
通用 | 键盘高度变化 | ⚠️ 按需(Native:keyboardwillshow) |
safe-password-* / bindnicknamereview |
通用 | 安全键盘 / 昵称审核 | ⏭️ WebView 或平台专有 |
Skyline 特有属性
| 属性 | 类型 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|
bind:selectionchange |
eventhandle | Skyline | 选区变化 | ⚠️ 按需(Native:selectionchange) |
bind:keyboardcomposition* / worklet:onkeyboardheightchange |
— | Skyline | 输入法 composition / worklet | ⏭️ 默认不纳入 |
WebView 特有属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
always-embed |
boolean | false |
WebView / iOS 同层 | 强制同层 | ⏭️ WebView |
textarea
多行输入框。宿主节点即为交互节点(Web:HTMLTextAreaElement;Native:TextInput + multiline)。
实现对照:textarea-vs-components.md。
AI 限制:支持(无冲突项;fixed / show-confirm-bar 等见 WebView,不纳入)。
通用属性(可交付)
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
value |
string | — | 通用 | 输入内容 | ✅ 纳入 |
placeholder |
string | — | 通用 | 占位符文案 | ✅ 纳入 |
placeholder-style |
string | — | 通用 | 占位符行内样式(常用 color / font-size / font-weight) |
✅ 纳入(⚠️ Native 以 color → placeholderTextColor 为主) |
placeholder-class |
string | textarea-placeholder |
通用 | 占位符样式类(仅解析 color 等有限属性) | ✅ 纳入(⚠️ 依赖页面 CSS 解析) |
disabled |
boolean | false |
通用 | 是否禁用 | ✅ 纳入(⚠️ Domlike 直通;Native 需 editable 贯通) |
maxlength |
number | 140 |
通用 | 最大长度;-1 不限制 |
✅ 纳入(-1 → Native ResetMaxLength) |
focus |
boolean | false |
通用 | 拉起/收起焦点 | ✅ 纳入(⚠️ Native:focusTextInput / blurTextInput) |
auto-height |
boolean | false |
通用 | 是否自动增高;为 true 时 style.height 不生效 |
✅ 纳入(⚠️ Native 测高回写 仅 OHOS;Android 透传 prop、去掉固定 height,无 UpdateNodeSize) |
confirm-type |
string | return |
通用 | 键盘右下角文案 | ✅ 纳入 |
bindinput |
eventhandle | — | 通用 | 输入时;detail = { value, cursor, keyCode };须用 bind 前缀连写 |
✅ 纳入 |
bindfocus / bindblur |
eventhandle | — | 通用 | 聚焦:detail = { value, height };失焦:detail = { value, cursor };写法同左 |
✅ 纳入 |
bindconfirm |
eventhandle | — | 通用 | 点击完成;detail = { value };写法 bindconfirm |
✅ 纳入 |
confirm-type 合法值:send / search / next / go / done / return(均 ✅ 纳入;默认 return;表现依赖系统输入法)。
通用属性(默认不声明 / 有条件)
| 属性 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|
auto-height |
通用 | 自动增高;设后 style.height 不生效 | ✅ 已纳入交付表(Native 回写 仅 OHOS) |
cursor-spacing / adjust-position / hold-keyboard / confirm-hold / adjust-keyboard-to |
通用 | 键盘与页面推挤 | ⚠️ 按需(强依赖平台) |
auto-focus |
通用 | 已废弃,用 focus |
⏭️ 不声明 |
cursor / selection-start / selection-end |
通用 | 光标与选区 | ⚠️ 按需 |
disable-default-padding |
通用 | 去掉 iOS 默认内边距 | ⏭️ 默认不纳入 |
bindlinechange |
通用 | 行数变化;detail = { height, heightRpx, lineCount } |
⚠️ 按需(Native:contentsizechange 可近似) |
bindkeyboardheightchange |
通用 | 键盘高度变化 | ⚠️ 按需(Native:keyboardwillshow) |
Skyline 特有属性
| 属性 | 类型 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|
placeholder-style(对象) |
object | Skyline | { fontSize, fontWeight, color } |
⏭️ 默认不纳入(交付用通用字符串形式) |
bind:selectionchange |
eventhandle | Skyline | 选区变化 | ⚠️ 按需(Native:selectionchange) |
bind:keyboardcomposition* |
— | Skyline | 输入法 composition | ⏭️ 默认不纳入 |
WebView 特有属性
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
fixed |
boolean | false |
WebView | position:fixed 区域需显式指定 |
⏭️ WebView |
show-confirm-bar |
boolean | true |
WebView | 是否显示键盘上方「完成」栏 | ⏭️ WebView |
label
用来改进表单组件的可用性。实现对照:label-vs-components.md。
使用 for 找到对应控件的 id,或将控件放在该标签下;点击 label 时触发对应控件。for 优先级高于内部控件;内部有多个可绑定控件时默认触发第一个。
AI 限制:支持(无冲突)。当前可绑定控件:button、checkbox、radio、switch(不含 input)。非法 for 按实际效果(空串回退内部控件;找不到 / 非可绑定 → 不触发)。
| 属性 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
for |
string | — | 通用 | 绑定控件的 id |
✅ 纳入 |
示例:
<label for="radio1">
<text>选择radio</text>
<radio id="radio1"></radio>
</label>
form
表单。实现对照:form-vs-components.md。
当点击 form 内 form-type 为 submit 的 button 时,将表单内带 name 的控件 value 汇总提交;form-type 为 reset 时重置并触发 reset。起始版本 1.0.0。
AI 限制:支持。交付事件仅 bindsubmit / bindreset。
当前可收集控件(须设置 name):input、textarea。规格目标还包括 switch / checkbox / slider / radio / picker(及 group),待对应内置组件交付后接入同一收集路径。
通用属性与事件
| 属性 / 事件 | 类型 | 默认值 | 分类 | 说明 | FlexUI 交付 |
|---|---|---|---|---|---|
bindsubmit |
eventhandle | — | 通用 | 携带 form 数据触发;event.detail = { value: { name: value, … } } |
✅ 纳入(1.0.0) |
bindreset |
eventhandle | — | 通用 | 表单重置时触发 | ✅ 纳入(1.0.0) |
report-submit |
boolean | false |
通用 | 返回 formId 用于模板消息 |
⏭️ 平台能力,不声明 |
report-submit-timeout |
number | 0 |
通用 | 检测 formId 有效性超时 |
⏭️ 平台能力,不声明 |
bindsubmitToGroup |
eventhandle | — | 通用 | 聊天工具发送文本 | ⏭️ 平台/聊天能力,不声明 |
示例:
<form bindsubmit="formSubmit" bindreset="formReset">
<input name="title" placeholder="title" />
<textarea name="desc" placeholder="desc"></textarea>
<button form-type="submit">Submit</button>
<button form-type="reset">Reset</button>
</form>
维护说明
新增/变更组件属性时:先更新本文件对应章节,再改
packages/flexui-frontend
与
Demo。
同步更新或新建实现对照文档:
docs/refs/<name>-vs-components.md
(见 view / text / image / scroll-view / button / input / textarea / label / form)。
Skill
与实现以本文件的
*
*FlexUI
交付
**
列为准;细节状态以各
*-vs-components.md
为准。
WXSS 选择器与样式属性上限见 limits.md。