搜索栏

搜索栏用来输入关键字并提交。结果由页面放进 results 插槽,展开和收起也由页面控制。

结果行用 <md-gen-menu-item>。

标签何时使用
<md-search-bar>输入关键字并提交
<md-gen-menu-item>一行结果
import 'genv4/search-bar/search-bar.js';
import 'genv4/gen-menu/gen-menu-item.js';

宽窄由组件自己的宽度决定,小于 560px 是窄屏。open 和输入框里有没有文字无关。结果最大高度用 --md-search-bar-results-max-height 设置。

窄屏的结果浮在胶囊下面,不把后面的内容往下推。下面「窄屏有结果」的外框加高,把这六行包在框里。

<md-search-bar placeholder="搜索" style="width: 640px"></md-search-bar>
设计系统设计规范设计组件设计令牌设计文档设计资源
<md-search-bar placeholder="搜索" value="设计" open style="width: 640px; --md-search-bar-results-max-height: 240px">
  <md-gen-menu-item slot="results" selected>设计系统</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计规范</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计组件</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计令牌</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计文档</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计资源</md-gen-menu-item>
</md-search-bar>
<md-search-bar placeholder="搜索" style="width: 400px"></md-search-bar>
设计系统设计规范设计组件设计令牌设计文档设计资源
<md-search-bar placeholder="搜索" value="设计" open style="width: 400px; --md-search-bar-results-max-height: 240px">
  <md-gen-menu-item slot="results" selected>设计系统</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计规范</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计组件</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计令牌</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计文档</md-gen-menu-item>
  <md-gen-menu-item slot="results">设计资源</md-gen-menu-item>
</md-search-bar>

下表适用于 <md-search-bar>。

属性HTML 属性类型默认值说明
valuevaluestring''输入框里的文字。只有空格时视为没有文字。
placeholderplaceholderstring''没有文字时的占位内容。默认空,由页面填写。
openopenbooleanfalse结果区是否展开。开关由页面设置。
事件类型冒泡穿透说明
inputInputEvent是是文字变化,包含清除
submitCustomEvent<{value: string}>是是按 Enter 或点击实心箭头。空值不发出
micCustomEvent是是点击麦克风。组件不识别语音
名称说明
results结果行,放 <md-gen-menu-item>。只在 open 时显示。

用组件 CSS 变量覆盖。下面只列出 Sass 里标记为支持的变量。

变量默认值
--md-search-bar-action-size40px
--md-search-bar-capsule-colorhsl(from var(--md-sys-color-surface, #ffffff) h s l / 80%)
--md-search-bar-capsule-shadow0 0 10px hsl(from var(--md-sys-color-shadow, #000) h s l / 12%)
--md-search-bar-capsule-shape32px
--md-search-bar-caret-color--md-sys-color-primary
--md-search-bar-clear-container-color--md-sys-color-surface-container-high
--md-search-bar-field-color--md-sys-color-surface
--md-search-bar-field-gap4px
--md-search-bar-field-height48px
--md-search-bar-field-shape24px
--md-search-bar-icon-color--md-sys-color-on-surface
--md-search-bar-icon-size24px
--md-search-bar-input-text-color--md-sys-color-on-surface
--md-search-bar-input-text-line-height20px
--md-search-bar-input-text-size14px
--md-search-bar-input-text-weight400
--md-search-bar-leading-size48px
--md-search-bar-narrow-padding4px
--md-search-bar-narrow-submit-size40px
--md-search-bar-placeholder-color--md-sys-color-on-surface-variant
--md-search-bar-results-color--md-sys-color-surface
--md-search-bar-results-gap4px
--md-search-bar-results-max-heightnone
--md-search-bar-results-offset8px
--md-search-bar-results-padding-block2px
--md-search-bar-results-shadow0 2px 6px hsl(from var(--md-sys-color-shadow, #000) h s l / 12%), 0 1px 2px hsl(from var(--md-sys-color-shadow, #000) h s l / 30%)
--md-search-bar-results-shape16px
--md-search-bar-scrollbar-color--md-sys-color-outline
--md-search-bar-scrollbar-inset-block12px
--md-search-bar-scrollbar-inset-inline4px
--md-search-bar-scrollbar-size4px
--md-search-bar-submit-container-color--md-sys-color-primary
--md-search-bar-submit-icon-color--md-sys-color-on-primary
--md-search-bar-thumb-min-size16px
--md-search-bar-wide-gap12px
--md-search-bar-wide-padding8px
--md-search-bar-wide-submit-size48px

全部样式:search-bar/internal/_search-bar.scss

开发指南
快速开始主题问题与支持
Components
Ai Input提示横幅 Alert banner按钮 ButtonCheckboxChipsDialogsFloating action button (FAB)图标 Icon图标按钮 Icon ButtonLists菜单 MenuMenus弹窗 Modal步骤条 Process stepperProgress indicatorsRadioRipple搜索栏 Search BarSelectSlidersSwitchTabsText field文本输入 Text Input