uiUI 组件系统
对比

按钮

Button

把一个可执行动作呈现为明确的点击目标。

交互预览实时预览

已执行 0 次,仅本地计数

点击执行,立即显示计数
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'button',
  {
    "label": "执行示例",
    "counter": true,
    "secondaryLabel": "不可用"
  }
);

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

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

什么时候用

提交、保存、取消或触发当前界面的操作。

什么时候不用

跳转到另一个地址应优先使用链接语义。

COMPONENT API

属性与事件

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

属性默认值
label"按钮"
disabledfalse
variant"primary"
counterfalse
secondaryLabel""
className""
attributes{}

事件

ui:action

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

INTERACTION NOTES

交互与可访问性

  • 使用原生 button,并声明 type。
  • 仅图标按钮也要有可读名称。

和相似组件的区别

按钮触发动作;链接定位目的地,开关改变持续状态。

RESEARCH & ALTERNATIVES

官方实现映射

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

Base UIButton
官方提供

提供按钮行为与可定制渲染。

MantineButton
官方提供

带样式按钮与 loading 变体。

Spectrum Web Componentssp-button
官方提供

动作按钮;旧 href 等链接 API 正在弃用。

关键状态

默认按下禁用执行中

React / Next.js、Web Components · 来源核验

一起了解

开关 ↗操作菜单 ↗表单与字段 ↗