按钮组件继承自 View
提供了更多的 按钮样式,包括 是否使用水波纹效果 ripple
, 立体效果 raised
, 圆形 floating
, 幽灵按钮 inverse
, 按钮大小 large | small
默认为常态 。
activeClass
共用false
,只背景使用颜色,为 true 时边框使用颜色94vw
用于通栏展示,small 仅在 floating
情况下生效label
指定组件内容,primary
指定按钮为主色按钮, label 表示。
export default class ButtonDemo extends PageCore {
render = () => (
<Page>
<Button icon='' label='Inbox' primary ripple />
</Page>
)
}
--button-border-radius: calc(0.2 * var(--unit));
--button-large-height: calc(4.4 * var(--unit));
--button-small-height: calc(3.2 * var(--unit));
--button-large-width: 94vw;
--button-large-font-size: var(--font-size-title);
--button-small-font-size: var(--font-size-body);
--button-inverse-active-color: rgba(0,0,0, .15);
--button-toggle-font-size: calc(2 * var(--unit));
--button-primary-color: var(--color-primary-main);
--button-primary-color-active: var(--color-primary-deep);
--button-primary-color-contrast: var(--color-primary-contrast);
--button-accent-color: var(--color-accent-main);
--button-accent-color-active: var(--color-accent-deep);
--button-accent-color-contrast: var(--color-accent-contrast);
--button-neutral-color: var( --palette-white);
--button-neutral-color-active: color(var(--font-color-main-dark) a(20%));
--button-neutral-color-contrast: var(--font-color-main-dark);
--button-floating-font-size: var(--font-size-title);
--button-floating-icon-size: calc(2 * var(--unit));
--button-floating-height: calc(5.6 * var(--unit));
--button-floating-mini-height: calc(4 * var(--unit));
--button-floating-mini-font-size: calc(var(--button-floating-mini-height) / 2.25);
--button-disabled-text-color: color(var( --palette-black) a(38%));
--button-disabled-background-color: color(var( --palette-black) a(12%));
--button-disabled-text-color-inverse: color(var( --palette-black) a(54%));
--button-disabled-background-inverse: color(var( --palette-black) a(8%));
// 方形按钮变量
--button-squared-icon-margin: calc(0.6 * var(--unit));
--button-squared-min-width: calc(9 * var(--unit));
--button-squared-padding: 0 calc(1.2 * var(--unit));
参数名 | 类型 | 必选 | 默认值 | 描述 |
---|---|---|---|---|
label | string | √ | 无 | 显示的按钮名称 |
raised | boolean | × | false | 是否凸出效果 |
ripple | boolean | × | false | 水波纹效果 |
floating | boolean | × | false | 圆形 |
primary | boolean | × | false | 主色按钮 |
accent | boolean | × | false | 强调色按钮 |
tag | string | × | button | 渲染组件根元素标签 |
href | string | × | 无 | 传入链接时使用 a 标签渲染元素 |
className | string | × | 无 | 根节点附加类名 |
large | boolean | × | false | 大按钮 |
small | boolean | × | false | 小按钮 |
inverse | boolean | × | false | 空心按钮 |
icon | string | × | 无 | iconfont 值 |
onTouchTap | function | × | function(){} | tap 事件处理函数 |
selfTargetOnly | boolean | × | true | 只在当前元素为 target 时触发事件 |
stopPropagation | boolean | × | true | 阻止事件冒泡 |
activeClassName | string | × | 'yis-view-on' | 点击的时候可以高亮类名 |
IconButton
组件是基于 Button 组件封装的用于展示 icon
图标的按钮,并且默认配置了 ripple
效果 。
参数名 | 类型 | 必选 | 默认值 | 描述 |
---|---|---|---|---|
label | string | √ | 无 | 显示的按钮名称 |
raised | boolean | × | false | 是否凸出效果 |
primary | boolean | × | false | 主色按钮 |
accent | boolean | × | false | 强调色按钮 |
tag | string | × | button | 渲染组件根元素标签 |
className | string | × | 无 | 根节点附加类名 |
inverse | boolean | × | false | 空心按钮 |
icon | string | × | 无 | iconfont 值 |
onTouchTap | function | × | function(){} | tap 事件处理函数 |
selfTargetOnly | boolean | × | true | 只在当前元素为 target 时触发事件 |
stopPropagation | boolean | × | true | 阻止事件冒泡 |
activeClassName | string | × | 'yis-view-on' | 点击的时候可以高亮类名 |