Appearance
Select 选择器
下拉选择器,用于从一组选项中选择一个或多个值。
CSS样式
全部 select 样式代码:
查看代码
css
/* HnuiIcon */
@import url('./icon.css');
/* 全局css变量 */
:root {
/* #region vars-BrandColor */
/* 品牌色 */
--hnui-brand-color: #1f78ff;
--hnui-brand-color1: #005ce5;
--hnui-brand-color2: #4b83f7;
--hnui-brand-color3: #3384ff;
--hnui-brand-color4: #599bff;
--hnui-brand-color5: #80b2ff;
--hnui-brand-color6: #b2d1ff;
--hnui-brand-color7: #cce0ff;
--hnui-brand-color8: #d9e8ff;
--hnui-brand-color9: #ebf3ff;
--hnui-brand-color10: #f2f7ff;
/* 状态颜色 */
--hnui-brand-color-normal: var(--hnui-brand-color);
--hnui-brand-color-hover: var(--hnui-brand-color3);
--hnui-brand-color-active: var(--hnui-brand-color1);
--hnui-brand-color-elected: var(--hnui-brand-color9);
--hnui-brand-color-disabled: var(--hnui-brand-color7);
--hnui-brand-color-disabled-border: var(--hnui-brand-color6);
--hnui-brand-color-disabled-bg: var(--hnui-brand-color10);
/* #endregion vars-BrandColor */
/* #region vars-DomainColor */
/* 功能色 */
--hnui-success-color: #2ba471;
--hnui-success-hover-color: #51bd90;
--hnui-success-active-color: #2ba471;
--hnui-warning-color: #faad14;
--hnui-warning-hover-color: #ffc146;
--hnui-warning-active-color: #db960b;
--hnui-danger-color: #ff4d4d;
--hnui-danger-hover-color: #ff7676;
--hnui-danger-active-color: #d82a2a;
--hnui-info-color: #8d97a6;
--hnui-info-hover-color: #b2b7c0;
--hnui-info-active-color: #707a89;
/* #endregion vars-DomainColor */
/* #region vars-NeutralColor */
/* 中性色 */
/* 标题文字 */
--hnui-neutral-color-1: #2d2e33;
/* 正文、重要信息文字、按钮文字、输入框正常状态文字等 */
--hnui-neutral-color-2: #43454d;
/* 内容文字、说明叙述文字 */
--hnui-neutral-color-3: #5d606a;
/* 提示性文字、辅助文本 */
--hnui-neutral-color-4: #9298a0;
/* 禁用文本 */
--hnui-neutral-color-5: #b7bdc7;
/* 描边格描边、输入文本描边、下拉选择描边等 */
--hnui-neutral-color-6: #dfe2e7;
/* 全局背景、禁用状态、分割线等 */
--hnui-neutral-color-7: #f0f2f5;
/* 最低颜色等 */
--hnui-neutral-color-8: #fafbfc;
/* #endregion vars-NeutralColor */
/* 默认文字颜色 */
--hnui-text-color: var(--hnui-neutral-color-2);
--hnui-info-bg: #eceff4;
--hnui-info-bg2: #e7e7e7;
--hnui-color-white: #fff;
--hnui-color-black: #000;
--hnui-border-width: 1px;
--hnui-border-dashed-width: 2px;
--hnui-border-color: var(--hnui-neutral-color-6);
--hnui-disabled-bg-color: var(--hnui-neutral-color-7);
--hnui-disabled-color: var(--hnui-neutral-color-5);
--hnui-control-height: 32px;
--hnui-control-height-sm: 24px;
--hnui-control-height-lg: 40px;
--hnui-control-transparent: transparent;
}
.dark {
--hnui-brand-color6: rgb(50, 59, 74);
--hnui-brand-color7: #30353d;
--hnui-brand-color8: #42484f;
--hnui-brand-color9: #4c4f54;
--hnui-brand-color10: #29292c;
/* 中性色 */
/* 标题文字 */
--hnui-neutral-color-1: #c4c8dc;
/* 正文、重要信息文字、按钮文字、输入框正常状态文字等 */
--hnui-neutral-color-2: #b9bed3;
/* 内容文字、说明叙述文字 */
--hnui-neutral-color-3: #afb5c7;
/* 提示性文字、辅助文本 */
--hnui-neutral-color-4: #6a6f75;
/* 禁用文本 */
--hnui-neutral-color-5: #53565b;
/* 描边格描边、输入文本描边、下拉选择描边等 */
--hnui-neutral-color-6: #59595a;
/* 全局背景、禁用状态、分割线等 */
--hnui-neutral-color-7: #343535;
/* 最低颜色等 */
--hnui-neutral-color-8: #151516;
--hnui-info-bg: #393b3d;
--hnui-color-white: #000;
--hnui-color-black: #fff;
--hnui-control-transparent: transparent;
}
*,
::before,
::after {
box-sizing: border-box;
}
body {
color: var(--hnui-neutral-color-2);
}
/* #region vars-FontFamily */
@font-face {
font-family: 'DIN';
src: url('/fonts/D-DIN-PRO/D-DIN-PRO.woff2') format('woff2'),
url('/fonts/D-DIN-PRO/D-DIN-PRO.woff') format('woff'),
url('/fonts/D-DIN-PRO/D-DIN-PRO.ttf') format('truetype'),
url('/fonts/D-DIN-PRO/D-DIN-PRO.eot') format('embedded-opentype'),
url('/fonts/D-DIN-PRO/D-DIN-PRO.svg') format('svg');
font-weight: normal;
font-style: normal;
}
/* 使用数字字体 */
.use-font {
font-family: DIN;
}
/* #endregion vars-FontFamily */
/* #region vars-BoxShadow */
/* 一级投影(默认向下) */
.hnui-box-shadow {
box-shadow: 0px 6px 16px 6px rgba(0, 0, 0, 0.18);
}
.hnui-box-shadow.hover,
.hnui-box-shadow:hover {
box-shadow: 0px 6px 16px 6px rgba(31, 120, 255, 0.18);
}
/* 二级投影(默认向下) */
.hnui-box-shadow_l2 {
box-shadow: 0px 6px 16px 6px rgba(0, 0, 0, 0.12);
}
.hnui-box-shadow_l2.hover,
.hnui-box-shadow_l2:hover {
box-shadow: 0px 6px 16px 6px rgba(31, 120, 255, 0.12);
}
/* 三级投影(默认向下) */
.hnui-box-shadow_l3 {
box-shadow: 0px 6px 16px 6px rgba(0, 0, 0, 0.06);
}
.hnui-box-shadow_l3.hover,
.hnui-box-shadow_l3:hover {
box-shadow: 0px 6px 16px 6px rgba(31, 120, 255, 0.06);
}
/* #endregion vars-BoxShadow */css
@import "../checkbox/checkbox.css";
/* 选择器容器 */
.hnui-select {
position: relative;
display: inline-block;
width: 260px;
box-sizing: border-box;
}
.hnui-select .hnui-checkbox {
margin-right: 4px;
}
/* 选择器输入区域 */
.hnui-select-selector {
position: relative;
display: flex;
align-items: center;
min-height: 32px;
padding: 0 30px 0 10px;
border: 1px solid var(--hnui-border-color);
border-radius: 3px;
background-color: transparent;
color: var(--hnui-text-color);
cursor: pointer;
box-sizing: border-box;
font-size: 14px;
line-height: 1.5;
}
.hnui-select-selector-hover {
border-color: var(--hnui-brand-color-normal);
}
/* 选择器文本 */
.hnui-select-selection-text {
flex: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/* placeholder 样式 */
.hnui-select-selection-placeholder {
opacity: 0.4;
color: var(--hnui-neutral-color-2);
}
/* 箭头图标容器 */
.hnui-select-arrow {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
color: var(--hnui-neutral-color-4);
font-size: 12px;
transition: transform 0.2s cubic-bezier(0.38, 0, 0.24, 1);
pointer-events: none;
}
/* 展开时箭头旋转 */
.hnui-select.hnui-select-open .hnui-select-arrow {
transform: translateY(-50%) rotate(180deg);
}
/* Hover 状态 */
.hnui-select-selector:hover {
border-color: var(--hnui-brand-color-normal);
}
/* Focus 状态 */
.hnui-select.hnui-select-focused .hnui-select-selector,
.hnui-select.hnui-select-open .hnui-select-selector {
z-index: 1;
border-color: var(--hnui-brand-color-normal);
}
/* Disabled 状态 */
.hnui-select.hnui-select-disabled .hnui-select-selector {
background: var(--hnui-disabled-bg-color);
color: var(--hnui-disabled-color);
cursor: not-allowed;
}
.hnui-select.hnui-select-disabled:hover .hnui-select-selector {
border-color: var(--hnui-disabled-color);
}
/* 下拉菜单容器 */
.hnui-select-dropdown {
position: absolute;
top: calc(100% + 4px);
left: 0;
right: 0;
z-index: 1050;
max-height: 256px;
overflow-y: auto;
border: 1px solid var(--hnui-border-color);
border-radius: 3px;
box-sizing: border-box;
display: none;
}
.hnui-select-open .hnui-select-dropdown {
display: block;
}
/* 展示模式 - 下拉菜单占位不浮动 */
.hnui-select-display .hnui-select-dropdown {
position: static;
margin-top: 4px;
display: block;
}
/* 下拉菜单选项列表 */
.hnui-select .hnui-select-dropdown-list {
margin: 0 !important;
padding: 6px !important;
list-style: none;
}
/* 单个选项 */
.hnui-select-option {
position: relative;
display: flex;
align-items: center;
min-height: 28px;
border-radius: 3px;
font-size: 14px;
line-height: 22px;
color: var(--hnui-neutral-color-2);
cursor: pointer;
transition: background-color 0.2s cubic-bezier(0.38, 0, 0.24, 1);
user-select: none;
opacity: 0.9;
padding: 4px 8px;
margin-top: 4px;
}
/* 选项 Hover 状态 */
.hnui-select-option:hover {
background-color: var(--hnui-info-bg);
}
.hnui-select-option-hover {
background-color: var(--hnui-info-bg);
}
/* 选中的选项 */
.hnui-select-option-selected {
background-color: var(--hnui-brand-color9);
color: var(--hnui-brand-color);
font-weight: 500;
display: inline-block;
width: 100%;
height: 100%;
}
/* 禁用的选项 */
.hnui-select-option-disabled {
color: var(--hnui-disabled-color);
cursor: not-allowed;
}
/* 选项文本 */
.hnui-select-option-content {
flex: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
/* 选中标记图标 */
.hnui-select-option-check {
margin-left: 8px;
color: var(--hnui-brand-color-normal);
font-size: 12px;
}
/* === 尺寸变体 === */
/* Small 尺寸 */
.hnui-select-sm .hnui-select-selector {
min-height: 24px;
padding: 0 24px 0 8px;
font-size: 13px;
}
.hnui-select-sm .hnui-select-arrow {
right: 8px;
}
.hnui-select-sm .hnui-select-option {
min-height: 24px;
padding: 2px 6px;
font-size: 13px;
}
/* Large 尺寸 */
.hnui-select-lg .hnui-select-selector {
min-height: 40px;
padding: 0 36px 0 12px;
font-size: 16px;
}
.hnui-select-lg .hnui-select-arrow {
right: 12px;
font-size: 14px;
}
.hnui-select-lg .hnui-select-option {
min-height: 32px;
padding: 4px 8px;
font-size: 16px;
}
/* === 多选模式 === */
/* 多选选择器 */
.hnui-select-multiple .hnui-select-selector {
min-height: 32px;
padding: 2px 30px 2px 4px;
flex-wrap: wrap;
}
/* 多选标签容器 */
.hnui-select-selection-overflow {
display: flex;
flex-wrap: wrap;
gap: 4px;
flex: 1;
max-width: 100%;
}
/* === 分组选择器 === */
/* 分组标题 */
.hnui-select-option-group {
padding: 0;
}
.hnui-select-option-group-label {
padding: 8px 7px 4px;
font-size: 12px;
line-height: 1.5;
color: var(--hnui-neutral-color-4);
font-weight: 500;
cursor: default;
user-select: none;
}
.hnui-select-option-group-list {
margin: 0;
padding: 0;
list-style: none;
}
/* 分组内的选项 */
.hnui-select-option-group-list .hnui-select-option {
padding-left: 14px;
}
/* === 分割线选择器 === */
/* 选项分割线 */
.hnui-select-option-divider {
height: 1px;
margin: 4px 0;
background-color: var(--hnui-neutral-color-6);
border: none;
padding: 0;
pointer-events: none;
}
/* === 辅助类 === */
/* 完整宽度 */
.hnui-select-block {
width: 100%;
display: block;
}
/* 隐藏原生 select(如果需要使用原生 select 作为底层) */
.hnui-select-native {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
cursor: pointer;
z-index: -1;
}单选选择器
默认高:32px 宽:260px
请选择内容
- 选择器选项 1
- 选择器选项 2
- 选择器选项 3
- 选择器选项 4
- 选择器选项 5
查看代码
html
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text hnui-select-selection-placeholder">
请选择内容
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 3</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 4</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 5</span>
</li>
</ul>
</div>
</div>选择器输入框状态
选择器的不同交互状态:Default(默认)、Hover(悬停)、Focus(聚焦)、Disabled(禁用)。
未选择的状态:
Normal
请选择内容
Hover
请选择内容
Focus
请选择内容
- 选择器选项 1
- 选择器选项 2
- 选择器选项 3
- 选择器选项 4
- 选择器选项 5
Disabled
请选择内容
查看代码
html
<div class="hnui-select">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text hnui-select-selection-placeholder">
请选择内容
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
</div>html
<div class="hnui-select">
<div class="hnui-select-selector hnui-select-selector-hover">
<span class="hnui-select-selection-text hnui-select-selection-placeholder">
请选择内容
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
</div>html
<div class="hnui-select hnui-select-display hnui-select-focused hnui-select-open">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text hnui-select-selection-placeholder">
请选择内容
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-up"></i>
</span>
</div>
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 3</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 4</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 5</span>
</li>
</ul>
</div>
</div>html
<div class="hnui-select hnui-select-disabled">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text hnui-select-selection-placeholder">
请选择内容
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
</div>已选择的状态:
filled/Normal
选择器选项 2
filled/Hover
选择器选项 2
filled/Focus
选择器选项 2
- 选择器选项 1
- 选择器选项 2
- 选择器选项 3
- 选择器选项 4
- 选择器选项 5
filled/Disabled
选择器选项 2
查看代码
vue
<div class="hnui-select">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text">
选择器选项 2
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
</div>vue
<div class="hnui-select">
<div class="hnui-select-selector" style="border-color: var(--hnui-brand-color-normal);">
<span class="hnui-select-selection-text">
选择器选项 2
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
</div>vue
<div class="hnui-select hnui-select-display hnui-select-focused hnui-select-open">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text">
选择器选项 2
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-up"></i>
</span>
</div>
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option hnui-select-option-selected">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 3</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 4</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 5</span>
</li>
</ul>
</div>
</div>vue
<div class="hnui-select hnui-select-disabled">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text">
选择器选项 2
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
</div>多选选择器
通过多选模式,可以同时选择多个选项,已选中的选项会以标签形式显示在输入框中。
请选择内容
- 选择器选项 1
- 选择器选项 2
- 选择器选项 3
- 选择器选项 4
- 选择器选项 5
查看代码
vue
<div class="hnui-select hnui-select-multiple hnui-select-display hnui-select-open">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text hnui-select-selection-placeholder">
请选择内容
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<div class="hnui-checkbox">
<input class="hnui-checkbox-input" type="checkbox" name="fieldName" id="checkbox1" value="1" />
</div>
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option">
<div class="hnui-checkbox">
<input class="hnui-checkbox-input" type="checkbox" name="fieldName" id="checkbox1" value="1" />
</div>
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
<li class="hnui-select-option">
<div class="hnui-checkbox">
<input class="hnui-checkbox-input" type="checkbox" name="fieldName" id="checkbox1" value="1" />
</div>
<span class="hnui-select-option-content">选择器选项 3</span>
</li>
<li class="hnui-select-option">
<div class="hnui-checkbox">
<input class="hnui-checkbox-input" type="checkbox" name="fieldName" id="checkbox1" value="1" />
</div>
<span class="hnui-select-option-content">选择器选项 4</span>
</li>
<li class="hnui-select-option">
<div class="hnui-checkbox">
<input class="hnui-checkbox-input" type="checkbox" name="fieldName" id="checkbox1" value="1" />
</div>
<span class="hnui-select-option-content">选择器选项 5</span>
</li>
</ul>
</div>
</div>选择器大小
选择器提供三种尺寸:Small(24px)、Default(32px)、Large(40px)。
Small
选择器选项 2
- 选择器选项 1
- 选择器选项 2
- 选择器选项 3
- 选择器选项 4
- 选择器选项 5
Default
选择器选项 3
- 选择器选项 1
- 选择器选项 2
- 选择器选项 3
- 选择器选项 4
- 选择器选项 5
Large
选择器选项 1
- 选择器选项 1
- 选择器选项 2
- 选择器选项 3
- 选择器选项 4
- 选择器选项 5
查看代码
vue
<div class="hnui-select hnui-select-sm hnui-select-display hnui-select-open">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text">
选择器选项 2
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option hnui-select-option-selected">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 3</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 4</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 5</span>
</li>
</ul>
</div>
</div>vue
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text">
选择器选项 3
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
<li class="hnui-select-option hnui-select-option-selected">
<span class="hnui-select-option-content">选择器选项 3</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 4</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 5</span>
</li>
</ul>
</div>
</div>vue
<div class="hnui-select hnui-select-lg hnui-select-display hnui-select-open">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text">
选择器选项 1
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option hnui-select-option-selected">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 3</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 4</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 5</span>
</li>
</ul>
</div>
</div>分割线选择器
在选项之间添加分割线,用于区分不同类型的选项。
请选择内容
- 选择器选项 1
- 选择器选项 2
- 选择器选项 3
- 选择器选项 4
- 选择器选项 5
查看代码
vue
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text hnui-select-selection-placeholder">
请选择内容
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
<li class="hnui-select-option-divider"></li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 3</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 4</span>
</li>
<li class="hnui-select-option-divider"></li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 5</span>
</li>
</ul>
</div>
</div>分组选择器
使用分组标题将选项进行分类展示,便于用户快速找到目标选项。
请选择内容
- A类型
- 选择器选项 1
- 选择器选项 2
- B类型
- 选择器选项 3
- 选择器选项 4
查看代码
vue
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-selector">
<span class="hnui-select-selection-text hnui-select-selection-placeholder">
请选择内容
</span>
<span class="hnui-select-arrow">
<i class="hnui-icon-chevron-down"></i>
</span>
</div>
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option-group">
<div class="hnui-select-option-group-label">A类型</div>
<ul class="hnui-select-option-group-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
</ul>
</li>
<li class="hnui-select-option-group">
<div class="hnui-select-option-group-label">B类型</div>
<ul class="hnui-select-option-group-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 3</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 4</span>
</li>
</ul>
</li>
</ul>
</div>
</div>选择器选项状态
选择器选项不同交互状态:Default(默认)、Hover(悬停)、Selected(选中)、Disabled(禁用)。
Normal
- 选择器选项 1
- 选择器选项 2
Hover
- 选择器选项 1
- 选择器选项 2
Selected
- 选择器选项 1
- 选择器选项 2
Disabled
- 选择器选项 1
- 选择器选项 2
查看代码
html
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
</ul>
</div>
</div>html
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option hnui-select-option-hover">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
</ul>
</div>
</div>html
<script setup>
import DocItem from '../../components/DocItem.vue';
</script>
<template>
<div>
<DocItem label="Normal" :col="1">
<!-- #region select-Options-Default -->
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
</ul>
</div>
</div>
<!-- #endregion select-Options-Default -->
</DocItem>
<DocItem label="Hover" :col="1">
<!-- #region select-Options-Hover -->
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option hnui-select-option-hover">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
</ul>
</div>
</div>
<!-- #endregion select-Options-Hover -->
</DocItem>
<DocItem label="Selected" :col="1">
<!-- #region select-Selected-Focus -->
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option hnui-select-option-selected">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
</ul>
</div>
</div>
<!-- #endregion select-Selected-Focus -->
</DocItem>
<DocItem label="Disabled" :col="1">
<!-- #region select-Options-Disabled -->
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option hnui-select-option-disabled">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
</ul>
</div>
</div>
<!-- #endregion select-Options-Disabled -->
</DocItem>
</div>
</template>
<style scoped>
@import "./select.css";
</style>html
<div class="hnui-select hnui-select-display hnui-select-open">
<div class="hnui-select-dropdown">
<ul class="hnui-select-dropdown-list">
<li class="hnui-select-option">
<span class="hnui-select-option-content">选择器选项 1</span>
</li>
<li class="hnui-select-option hnui-select-option-disabled">
<span class="hnui-select-option-content">选择器选项 2</span>
</li>
</ul>
</div>
</div>