当前位置: 首页
前端开发
TinyRobot Container优雅构建AI对话容器

TinyRobot Container优雅构建AI对话容器

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

TinyRobot的TrContainer组件为AI对话应用提供开箱即用的容器方案,解决定位布局、全屏切换与响应式适配难题。支持显示隐藏控制、全屏模式、自定义标题与操作区,底部输入区稳定固定,并通过丰富CSS变量灵活定制样式。

TinyRobot Container:打造优雅的AI对话容器组件

在构建AI对话应用时,容器组件看似简单,实则暗藏诸多挑战。它绝不仅仅是一个普通的“外壳”——需要处理定位布局、全屏切换、响应式适配,还要为对话区域、输入框和操作栏精确分配空间。如果你曾手动实现这些功能,一定经历过定位错乱、全屏适配失控、输入框挤压消息显示区域的痛苦。

TinyRobot Container构建优雅的AI对话容器

TinyRobot 的 TrContainer 组件,正是为解决这些痛点而设计。开箱即用,它提供了AI对话容器所需的全部能力:显示/隐藏控制、全屏模式、可自定义的标题栏、固定底部的输入区,以及丰富的CSS变量,方便你随心定制样式。

基础用法

TrContainer 的核心功能是通过 v-model:show 实现容器的显示与隐藏。这是一个必填属性,你可以在任何页面中轻松切换AI对话面板的可见性。


借助 v-model:show 双向绑定,容器的显示状态完全由你的数据控制。当用户关闭容器时,你还可以监听 close 事件,执行清理或状态重置等操作:


全屏模式

在AI对话场景中,侧边栏与全屏的切换非常频繁——简单交流时用侧边栏足够,深入讨论时则希望占据整个屏幕。TrContainer 通过 v-model:fullscreen 提供了一种优雅的切换方案。


进入全屏模式后,Container 组件会自动添加 fullscreen 类名。你可以利用这个选择器自定义全屏时的内容布局,例如在大屏幕上限制内容宽度并居中显示,避免文本行过长影响阅读体验。

自定义标题与操作区

默认标题栏显示的是 "OpenTiny NEXT"。你既可以通过 title 属性修改文字,也可以使用 title 插槽完全掌控标题区域的渲染内容。而 operations 插槽则允许你在标题栏右侧添加任意操作按钮——新建会话、查看历史记录,一切都由你决定。


Footer 插槽:配合 Sender 组件使用

footer 插槽是搭建完整对话UI的关键部分。它固定在容器底部,天然适合放置 TrSender 输入组件——无论对话内容滚动多长,输入框始终稳稳地停在底部,确保用户随时可以输入。


CSS 变量定制

TrContainer 提供了丰富的CSS变量,让你无需修改组件源码即可深度定制容器外观——颜色、尺寸、间距等均可通过变量灵活调整。

全局变量

:root {
  /* 容器尺寸和边框 */
  --tr-container-width: 600px;
  --tr-container-bg-color: #ffffff;
  --tr-container-border-color: #e5e7eb;
  --tr-container-border-width: 1px;  /* 头部区域 */
  --tr-container-header-padding: 16px 24px;
  --tr-container-header-operations-gap: 4px;  /* 标题样式 */
  --tr-container-title-color: #1f2937;
  --tr-container-title-font-size: 16px;
  --tr-container-title-font-weight: 600;
  --tr-container-title-line-height: 24px;
}

全屏模式变量

全屏模式拥有独立的CSS变量,可单独配置全屏时的标题大小、头部内边距等:

:root {
  --tr-container-title-font-size-fullscreen: 20px;
  --tr-container-title-line-height-fullscreen: 28px;
  --tr-container-header-padding-fullscreen: 0 200px 24px;
}

实战:暗色主题定制

:root {
  --tr-container-bg-color: #1a1a2e;
  --tr-container-border-color: #2d2d44;
  --tr-container-title-color: #e0e0ff;
  --tr-container-title-font-size: 18px;
  --tr-container-title-font-weight: 700;
  --tr-container-width: 480px;
}

API 参考

Props

属性类型必填默认值说明
model:showboolean-控制容器是否显示
model:fullscreenbooleanfalse是否启用全屏模式
titlestring'OpenTiny NEXT'容器的标题文字

Slots

插槽名说明
default容器主体内容区域
title自定义标题区域的渲染内容
operations标题栏右侧的操作按钮区域
footer底部操作栏的内容(如输入组件)

Events

事件名参数说明
close-容器关闭时触发的事件

CSS 变量

全局变量(:root

变量名说明
--tr-container-bg-color容器背景色
--tr-container-border-color容器边框颜色
--tr-container-border-width容器边框宽度
--tr-container-header-operations-gap操作按钮之间的间距
--tr-container-header-padding头部内边距
--tr-container-title-color标题文字颜色
--tr-container-title-font-size标题字体大小
--tr-container-title-font-weight标题字体粗细
--tr-container-title-line-height标题行高
--tr-container-width容器宽度

全屏模式变量

变量名说明
--tr-container-header-padding-fullscreen全屏模式下的头部内边距
--tr-container-title-font-size-fullscreen全屏模式下的标题字体大小
--tr-container-title-line-height-fullscreen全屏模式下的标题行高
来源:https://juejin.cn/post/7649977961551691826

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系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款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜