Skip to content

Select 选择框 ​

查看 sn-select 的 2.0 版本差异

基础用法 ​

用于简单单选的数据选择器,点击选择框后在锚点附近弹出选项列表,点选即完成选择。

  • 数据项支持左右双图标、文字样式与禁用
  • 选中态支持背景高亮与前置对钩两种模式,展开时自动滚动定位到当前选中项
  • 下方空间不足时自动翻转到上方;在弹层内使用时沿用弹出层层级,遮罩拦截底层触摸滚动

必须放在 sn-page 下

组件内含弹出层,使用时需放在 sn-page 根节点下。

平台差异

HarmonyOS 端弹出菜单阴影使用较轻的默认值,仍可通过弹层样式自定义;菜单透明度由入退场动画控制,遮罩独立淡入淡出。

vue
<template>
	<sn-select v-model="value" :data="data" width="200px"></sn-select>
</template>

更多演示请下载 demo 查看

属性 ​

参数说明类型默认值可选值
v-model当前选中项的索引Number0-
data选项数据源SnSelectItem[][]-
width选择框宽度(弹出层宽度与其一致),支持 $ 前缀按间距乘数缩放String | Number100px-
bgColor选择框背景颜色String$front-
popBgColor弹出层背景颜色String$front-
selectedMode选中项展示模式:bg 为选中项背景高亮,check 为选中项前置对钩图标Stringbgbg | check
selectedItemBgColor选中项背景颜色(selectedMode 为 bg 时生效)String$infoDark-
selectedItemTextColor选中项文字颜色(selectedMode 为 bg 时生效)String$primaryDark-
checkIconColor选中项对钩图标颜色(selectedMode 为 check 时生效)String$primary-
checkIconSize选中项对钩图标大小(selectedMode 为 check 时生效)String | Number$14-
textSize选择框文本大小String | Number$14-
textColor选择框文本颜色(下拉箭头同色)String$text-
leftIcon选择框左侧默认图标String''-
rightIcon选项右侧默认图标String''-
leftIconColor左侧图标默认颜色String$text-
rightIconColor右侧图标默认颜色String$text-
leftIconSize左侧图标默认尺寸String | Number$18-
rightIconSize右侧图标默认尺寸String | Number$16-
borderRadius选择框与弹出层圆角大小String | Number$8-
maxHeight弹出层选项列表最大高度,支持 $ 前缀按间距乘数缩放String | Number500px-
maskOpacity弹出层蒙层透明度Number00~1
aniTime弹出层动画时长String | Number$200-
disabled是否禁用选择框(整体半透明且不可点击)Booleanfalsetrue | false
itemBorder选项之间是否显示分隔线(最后一项不显示)Booleantruetrue | false
itemStyle自定义选项(sn-cell)样式SnStyleValue--
itemClass自定义选项外部样式类String--
itemHoverStyle自定义选项按压态样式SnStyleValuebackground: var(--sn-info);-
itemTextStyle自定义选项文字样式SnStyleValue--
itemIconStyle自定义选项图标样式SnStyleValue--
hoverStyle选择框按压态样式SnStyleValuebackground: var(--sn-info);-
hoverStartTime按压态启动延时(ms)Number50-
hoverStayTime松手后按压态保持时长(ms)Number0-
hoverTransTime按压态过渡动画时长String | Number- (默认取 $snui.aniTimeShort)-
customStyle自定义选择框根节点样式SnStyleValue--
textStyle自定义选择框文本样式SnStyleValue--
textClass自定义选择框文本外部样式类String--
popStyle自定义弹出层容器样式SnStyleValue--
popClass自定义弹出层容器外部样式类String--

sn-select 专用选项类型,支持左右图标和选项级文字样式。

字段类型必备描述
idString否项 id
textString否显示文本
iconString否兼容字段,作为左侧图标
leftIconString否左侧图标名
rightIconString否右侧图标名
valueString否关联值
colorString否文本颜色
textColorString否文本颜色
textSizeString | Number否文本字号
leftIconColorString否左侧图标颜色
rightIconColorString否右侧图标颜色
leftIconSizeString | Number否左侧图标尺寸
rightIconSizeString | Number否右侧图标尺寸
disabledBoolean否是否禁用

事件 ​

名称类型说明
change(value: Number) => Void选中项变化时触发,value 即为选中项索引

使用 MIT 协议