uiUI 组件系统
对比

代码块

Code Block

让代码与普通文本分离,便于阅读和复制。

交互预览实时预览
example.js
const result = await agent.run({
  task: "让过程可以理解"
});

复制会写入系统剪贴板
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'code'
);

view.element.addEventListener('ui:copy', event => {
  console.log(event.detail.value);
});

// view.update({ ...nextProps });
// view.destroy();

什么时候用

展示命令、配置或可复制的代码片段。

什么时候不用

需要运行或编辑代码时,应另设编辑器或执行环境。

COMPONENT API

属性与事件

传入业务数据,通过事件连接你的应用。

属性默认值
filename"example.js"
code"const result = await agent.run({\n task: \"让过程可以理解\"\n});"
copyLabel"复制"

事件

ui:copy ui:error

安装、生命周期与完整 API ↗

INTERACTION NOTES

交互与可访问性

  • 使用 pre 与 code 语义。
  • 允许横向滚动,复制结果提供文字反馈。

和相似组件的区别

代码块展示内容,不代表代码已执行或通过验证。

RESEARCH & ALTERNATIVES

官方实现映射

以下是上游生态对同类交互的实现。上方运行的是 UI 自己的组件。

shadcn/uiCode Block
官方提供

官方组件;高亮和复制能力按其依赖接入。

关键状态

完整代码流式片段已复制复制失败

React / Next.js · 来源核验

一起了解

消息与富文本 ↗工具调用与结果 ↗