Skip to content
方舟组件

技能等级选择SkillLevels

1–7 级 + 专精 Ⅰ–Ⅲ 的单选条。只给需要「当前等级」的场合(高亮全等级表的一行 / 钉住参数矩阵的一列)。

Vue
实验import { AkSkillLevels } from "@mooncellwiki/prts-design-vue"Storybook ↗源码 ↗

1–7 级 + 专精 Ⅰ–Ⅲ 的一条单选。只给需要「当前等级」的场合——高亮全等级表的一行、钉住参数矩阵的一列、计算器里选等级;干员页正文照现网一张表列完所有等级,不用它来回切。

等级 1–7 + 专精 ​

v-model 是等级 1–10(8–10 = 专精 Ⅰ–Ⅲ)。专精格画游戏图标(mastery-icons 传 specialized_tiny_1–3.png 的地址),选中时蓝底;没给图标时写 M1–M3。三星及以下没有专精:max="7"。

配全等级表 ​

选择器的 v-model 与全等级表的 highlight 绑同一个值:选哪一级,表里那一行就高亮(tr.is-hl)。和参数矩阵的联动见参数矩阵。

键盘 ​

按 WAI-ARIA Radio Group:整条是 role="radiogroup"(label 是组名,默认「技能等级」),每格 role="radio" + aria-checked;专精格的名字来自图标的 alt(「专精1」)。

键行为
Tab进入 / 离开(只停在选中的那一格)
→ / ↓ · ← / ↑下一级 / 上一级并选中(首尾循环)
Home / End1 级 / 最高一级

Vue API ​

属性类型默认说明
maxnumber10最高等级:7 = 只有 1–7(三星及以下 / 未精二),10 = 再加专精 Ⅰ–Ⅲ
masteryIconsreadonly string[]—专精 Ⅰ–Ⅲ 的图标地址(游戏 specialized_tiny_1–3);不给时写 M1–M3
labelstring"技能等级"读屏用的组名
disabledbooleanfalse整组禁用
modelValuenumber—当前等级 1–10(8–10 = 专精 Ⅰ–Ⅲ);不绑定时没有选中项
事件参数说明
update:modelValue[value: number | undefined]

CSS 实现 ​

按钮 all: unset 去掉了原生外观,焦点环由 .ak-skill-levels > button:focus-visible 补回(内缩 2px);禁用同按钮(半透明、不可点)。

块元素 __修饰 --

文本 CC BY-NC-SA 4.0 · 游戏素材版权归鹰角网络所有