当前位置: 首页
前端开发
TinyRobot SuggestionPills紧凑型建议按钮组组件新版功能特性解析

TinyRobot SuggestionPills紧凑型建议按钮组组件新版功能特性解析

热心网友 时间:2026-06-15
转载

TinyRobot的SuggestionPills组件为AI对话界面提供紧凑的胶囊按钮建议选项,支持横向排列、溢出时展开或滚动模式,可自定义文本与图标,具备自动滚动、点击外部收起及与下拉菜单组合使用的能力。

TinyRobot SuggestionPills:紧凑的建议按钮组组件

在 AI 对话界面中,用户常常需要在入口处快速选取预设的操作或提问方向。传统的下拉菜单或长列表虽然能容纳大量选项,但交互路径长,不够直观。而采用 Pill 风格的建议按钮,则提供了一种更紧凑、更直观的方案——将建议项以胶囊按钮的形式排列展示,用户一目了然,点击即达。

TinyRobot SuggestionPills紧凑的建议按钮组组件

SuggestionPills 正是 TinyRobot 为这一场景提供的组件,它具备以下核心能力:

  • 紧凑排列:多个建议项以胶囊按钮横向排列,节省纵向空间。
  • 溢出处理:当建议项超出容器宽度时,支持展开(expand)或横向滚动(scroll)两种模式。
  • 展开/收起:通过 showAll 控制是否展开全部项,并支持 hover 和 always 两种"更多"按钮显示时机。
  • 自动滚动:支持鼠标悬停或点击时自动滚动到可见区域。
  • 自定义按钮:每个药丸按钮可自定义文本和图标,还支持与 DropdownMenu 组合使用。
  • 点击外部:提供 click-outside 事件,方便实现点击组件外部收起等交互。

基本用法:带 items 的 SuggestionPills

最简单的用法是在 SuggestionPills 内直接放置多个 SuggestionPillButton,每个按钮对应一个建议项。


SuggestionPillItem 类型定义了每个按钮的数据结构,texticon 至少需要提供一个:

type SuggestionPillItem =
  | { text: string; icon?: VNode | Component }
  | { text?: string; icon: VNode | Component }

showAll 切换:展开收起折叠项

当建议项较多时,SuggestionPills 默认只显示容器宽度范围内的项,超出的部分被折叠。通过 v-model:showAll 可以控制是否展开全部项。


showAllButtonOn 属性控制"更多"按钮的显示时机:

  • 'hover'(默认):鼠标悬停在组件上时才显示"更多"按钮。
  • 'always':始终显示"更多"按钮。

  

overflowMode:展开 vs 滚动

overflowMode 决定了当建议项超出容器宽度时的展示方式,有两个选项:

  • 'expand'(默认):超出的项折叠隐藏,通过 showAll 展开。
  • 'scroll':所有项横向排列,通过横向滚动查看。

自定义药丸按钮:带图标

SuggestionPillButton 支持通过 icon 插槽或 item.icon 属性添加图标。下面演示使用 icon 插槽自定义图标:


也可以通过 item 属性直接传入图标组件,无需使用插槽:


autoScrollOn 行为

autoScrollOn 属性控制药丸按钮在溢出容器时是否自动滚动到可见区域,支持两种触发方式:

  • 'mouseenter':鼠标悬停到按钮上时自动滚动。
  • 'click':点击按钮时自动滚动。

配合 DropdownMenu 实现更多选项

在实际场景中,药丸按钮点击后可能需要展示更多操作选项。这时可以将 TrSuggestionPillButton 作为 TrDropdownMenu 的触发器,实现"按钮点击 → 弹出下拉菜单"的交互。


API 参考

SuggestionPillsProps

属性类型必填默认值说明
showAllboolean-是否展开全部元素,支持 v-model
showAllButtonOn'hover' | 'always''hover'显示"更多"按钮的时机
overflowMode'expand' | 'scroll''expand'控制多余项的展示方式:expand 为展开显示,scroll 为横向滚动显示
autoScrollOn'mouseenter' | 'click'-鼠标悬停或点击时是否自动滚动到可见区域

SuggestionPillButtonProps

属性类型必填说明
itemSuggestionPillItem药丸项数据

Slots

SuggestionPills 插槽:

插槽名说明
default自定义内容插槽

SuggestionPillButton 插槽:

插槽名说明
default自定义内容插槽
icon自定义图标插槽

Events

事件名参数说明
click-outsideevent: MouseEvent点击组件外部区域时触发

Types

type SuggestionPillItem =
  | { text: string; icon?: VNode | Component }
  | { text?: string; icon: VNode | Component }
来源:https://juejin.cn/post/7649985520412459054

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
如何用拖放在Flask看板应用中更新数据库状态

如何用拖放在Flask看板应用中更新数据库状态

在Flask看板应用中,通过HTML5拖放API结合前端fetch异步POST请求,将拖拽任务的task_id和target_state发送至后端路由;后端接收JSON后更新数据库并提交事务,实现跨列拖拽时实时更新状态。需注意将事件绑定到容器而非子元素,并在ondragover中阻止默认行为以确保drop触发。

时间:2026-07-09 07:01
如何用CSS :has()选择器快速实现悬停span显示相邻div

如何用CSS :has()选择器快速实现悬停span显示相邻div

利用CSS的:has()伪类选择器,通过` bar:has(> baz:hover)+ qux`实现悬停内联元素时显示相邻块级容器,解决了传统相邻兄弟选择器无法跨层级匹配的局限,可用于悬停图标显示详情框等交互场景。需注意浏览器兼容性和性能优化,避免过度使用影响渲染效率。

时间:2026-07-09 07:01
display:block居中段落文本的响应式实现方法

display:block居中段落文本的响应式实现方法

通过`display:block`与`max-width`限制宽度,配合`margin:auto`使段落块水平居中并实现响应式布局;同时用CSS统一控制段落间距,避免脱离文档流,提升可读性与维护性。

时间:2026-07-09 07:01
JavaScript代码去重:高效避免重复编写的技巧

JavaScript代码去重:高效避免重复编写的技巧

将重复代码中的变化点提取为参数,利用ES6模板字符串动态生成选择器,可消除重复、保持一致性。注意参数安全性,必要时进行白名单校验;批量化场景可扩展为数组形式;现代框架中更推荐数据驱动或组件化封装替代手动选择器。

时间:2026-07-09 07:00
使用容器查询单位cqw实现表单输入框相对于祖父容器百分比宽度

使用容器查询单位cqw实现表单输入框相对于祖父容器百分比宽度

利用CSS容器查询单位cqw,表单输入框宽度可直接基于祖父容器计算,绕过中间包装器尺寸干扰,实现简洁响应式布局,无需硬编码或JavaScript,显著降低维护成本,提升嵌套结构下的布局灵活性。

时间:2026-07-09 07:00
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜