Skip to content

SuggestionPopover 建议弹出框

代码示例

基本示例

使用 data 传入数据,

loading

触发方式

使用 trggier 来决定弹出框的触发方式。目前有 clickmanual 两种方式,默认为 clicktrggiermanual 时,需要你手动修改弹出框显示状态

loading

分组数据

data 数组中的项,添加 group 字段来表示为分组数据。分组数据和普通数据不能混合

loading

加载中和空数据

loading

移动端适配

目前移动端判断逻辑是,视窗宽度小于 768px

将窗口宽度缩小到 768px,可以点击查看上面的示例

API

Props

弹出框属性配置。

属性类型默认值说明
dataSuggestionData-必填,建议数据
titlestring-弹出框标题
iconVNode | Component-标题图标
showboolean-控制弹出框显示/隐藏,仅在 trigger 为 'manual' 时有效
trigger'click' | 'manual''click'触发方式:点击或手动控制
selectedGroupstring-当前选中分组 (v-model)
groupShowMoreTrigger'click' | 'hover'-分组"显示更多"的触发方式
loadingbooleanfalse是否显示加载状态
topOffsetnumber-顶部偏移量

Slots

弹出框插槽定义。

插槽名类型说明
default() => unknown自定义内容插槽
loading() => unknown自定义加载状态显示
empty() => unknown自定义空状态显示

Events

弹出框事件定义。

事件名参数说明
item-clickitem: SuggestionItem点击建议项时触发
group-clickgroup: SuggestionGroup点击分组时触发
open-弹窗打开时触发
close-弹窗关闭时触发
click-outsideevent: MouseEvent点击弹窗外部区域时触发

Types

SuggestionItem

建议项数据结构。

属性类型说明
idstring项唯一标识
textstring显示文本

SuggestionGroup

建议分组数据结构。

属性类型说明
groupstring分组标识
labelstring分组显示名称
iconVNode | Component分组图标
itemsSuggestionItem[]分组下的建议项

SuggestionData

建议数据联合类型:

typescript
type SuggestionData = (SuggestionItem | SuggestionGroup)[]

表示数据可以是:

  • 平铺的建议项数组 SuggestionItem[]
  • 分组的建议项数组 SuggestionGroup[]