按钮React组件

按钮React组件代表了Framework7的按钮元素。

按钮组件

包含以下组件:

按钮属性

按钮组件几乎具有与链接组件相同的属性,但有一些额外的按钮特定属性:

属性类型默认描述
<Button>属性
type字符串如果它是submit, buttonreset那么它将渲染为<button>元素,具有相同的type属性
tabLink字符串
布尔值
启用选项卡链接并指定目标选项卡的 CSS 选择器(如果指定为字符串)
tabLinkActive布尔值false使此选项卡链接处于活动状态
active布尔值false在Segmented中使用时,使此按钮处于活动状态。必须代替tab-link-active
text字符串按钮文本标签
提示字符串按钮提示按钮悬停/按下时显示的文本
提示触发器字符串悬停定义如何触发(打开)提示。可以是hover, clickmanual
round布尔值false使按钮圆形
roundIos布尔值false仅适用于iOS主题使按钮圆形
roundMd布尔值false仅适用于MD主题使按钮圆形
large布尔值false使按钮变大
largeIos布尔值false仅适用于iOS主题使按钮变大
largeMd布尔值false仅适用于MD主题使按钮变大
small布尔值false使按钮变小
smallIos布尔值false仅适用于iOS主题使按钮变小
smallMd布尔值false仅适用于MD主题使按钮变小
fill布尔值false使按钮填充颜色
fillIos布尔值false仅适用于iOS主题使按钮填充颜色
fillMd布尔值false仅适用于MD主题使按钮填充颜色
语气布尔值false使按钮为语气样式
语气Ios布尔值false仅适用于iOS主题使按钮为语气样式
语气Md布尔值false仅适用于MD主题使按钮为语气样式
raised布尔值false使按钮提升
raisedIos布尔值false仅适用于iOS主题使按钮提升
raisedMd布尔值false仅适用于MD主题使按钮提升
outline布尔值false使按钮轮廓
轮廓Ios布尔值false仅适用于iOS主题使按钮轮廓
轮廓Md布尔值false仅适用于MD主题使按钮轮廓
<Button>与加载器相关的属性
加载器布尔值false使按钮具有加载器
加载中布尔值false控制按钮状态以显示/隐藏加载器并隐藏/显示按钮文本(将按钮切换到加载状态)
加载器颜色字符串按钮的加载器颜色
加载器大小数字
字符串
按钮的加载器大小
<Button>与图标相关的属性
iconSize字符串
数字
图标大小(像素)
iconColor字符串图标颜色。可以是默认颜色之一
icon字符串自定义图标类
iconF7字符串F7 图标字体图标的名称
iconMaterial字符串Material 图标字体图标的名称
iconIos字符串在使用 iOS 主题时使用的图标。由图标系列和图标名称组成,例如f7:house
iconMd字符串在使用 MD 主题时使用的图标。由图标系列和图标名称组成,例如material:home
<Button>与导航/路由相关的属性
href字符串
布尔值
#要加载的页面的 URL。如果是布尔值href="false"则不会添加hreftag
target字符串链接目标属性值,例如_blank, _self,等等。
view字符串要加载页面的视图的 CSS 选择器。或者current在当前视图中加载。
external布尔值启用以绕过 Framework7 的链接点击处理程序
back布尔值启用返回导航链接
openIn字符串允许将页面路由作为模态或面板打开。可以是popup, loginScreen, sheet, popoverpanel
force布尔值强制页面加载并忽略历史记录中的先前页面(与back属性一起使用)
reloadCurrent布尔值重新加载新页面而不是当前活动的页面
reloadPrevious布尔值用路由中的新页面替换历史记录中的先前页面
reloadAll布尔值加载新页面并从历史记录和 DOM 中删除所有先前页面
reloadDetail布尔值在主/详细信息视图中重新加载详细信息页面
animate布尔值禁用页面动画
transition字符串自定义页面过渡的名称custom page transition
ignoreCache布尔值忽略缓存
routeTabId字符串可路由选项卡 ID
routeProps对象将传递给目标路由组件的附加属性对象
preventRouter布尔值false如果设置,则不会被 Framework7 路由器处理
<Button>与操作相关的属性
panelOpen字符串
布尔值
点击时打开的面板的 CSS 选择器。或者可以是leftright如果 DOM 中只有左侧或右侧面板。
panelClose字符串
布尔值
点击时关闭面板
panelToggle字符串
布尔值
点击时切换的面板的 CSS 选择器。或者可以是leftright如果 DOM 中只有左侧或右侧面板。
actionsOpen字符串
布尔值
点击时打开的操作表的 CSS 选择器
actionsClose字符串
布尔值
点击时关闭的操作表的 CSS 选择器。或者为关闭当前打开的操作表的布尔属性
popupOpen字符串
布尔值
点击时打开的弹出的 CSS 选择器
popupClose字符串
布尔值
点击时关闭的弹出的 CSS 选择器。或者为关闭当前打开的弹出的布尔属性
popoverOpen字符串
布尔值
点击时打开的弹出窗口的 CSS 选择器
popoverClose字符串
布尔值
点击时关闭的弹出窗口的 CSS 选择器。或者为关闭当前打开的弹出窗口的布尔属性
sheetOpen字符串
布尔值
点击时打开的表单模态的 CSS 选择器
sheetClose字符串
布尔值
点击时关闭的表单模态的 CSS 选择器。或者为关闭当前打开的表单模态的布尔属性
loginScreenOpen字符串
布尔值
点击时打开的登录屏幕的 CSS 选择器
loginScreenClose字符串
布尔值
点击时关闭的登录屏幕的 CSS 选择器。或者为关闭当前打开的登录屏幕的布尔属性
sortableEnable字符串
布尔值
点击时启用的可排序列表的 CSS 选择器
sortableDisable字符串
布尔值
点击时禁用的可排序列表的 CSS 选择器。或者为关闭当前打开的可排序列表的布尔属性
sortableToggle字符串
布尔值
点击时切换的可排序列表的 CSS 选择器。或者为切换当前打开/关闭的可排序列表的布尔属性
searchbarEnable字符串
布尔值
点击时启用的可展开搜索栏的 CSS 选择器。或者为启用第一个找到的搜索栏的布尔属性
searchbarDisable字符串
布尔值
点击时禁用的可展开搜索栏的 CSS 选择器。或者为禁用第一个找到的搜索栏的布尔属性
searchbarToggle字符串
布尔值
点击时切换的可展开搜索栏的 CSS 选择器。或者为切换第一个找到的搜索栏的布尔属性
searchbarClear字符串
布尔值
点击时清除的可展开搜索栏的 CSS 选择器。或者为清除第一个找到的搜索栏的布尔属性
cardOpen字符串
布尔值
点击时打开的可展开卡片的 CSS 选择器。或者为打开第一个找到的可展开卡片的布尔值
cardClose字符串
布尔值
点击时关闭的可展开卡片的 CSS 选择器。或者为关闭当前打开的可展开卡片的布尔属性
cardPreventOpen布尔值具有此属性的元素点击不会打开其父可展开卡片

按钮事件

事件描述
<Button>事件
click点击按钮后触发事件

示例

buttons.jsx
import React, { useState } from 'react';
import { Navbar, Page, BlockTitle, Block, Button } from 'framework7-react';

export default () => {
  const [isLoading1, setIsLoading1] = useState(false);
  const [isLoading2, setIsLoading2] = useState(false);

  const load1 = () => {
    if (isLoading1) return;
    setIsLoading1(true);
    setTimeout(() => {
      setIsLoading1(false);
    }, 4000);
  };
  const load2 = () => {
    if (isLoading2) return;
    setIsLoading2(true);
    setTimeout(() => {
      setIsLoading2(false);
    }, 4000);
  };

  return (
    <Page>
      <Navbar title="Buttons" />

      <BlockTitle>Usual Buttons</BlockTitle>
      <Block strong outlineIos>
        <div className="grid grid-cols-3 grid-gap">
          <Button>Button</Button>
          <Button>Button</Button>
          <Button round>Round</Button>
        </div>
      </Block>

      <BlockTitle>Tonal Buttons</BlockTitle>
      <Block strong outlineIos>
        <div className="grid grid-cols-3 grid-gap">
          <Button tonal>Button</Button>
          <Button tonal>Button</Button>
          <Button tonal round>
            Round
          </Button>
        </div>
      </Block>

      <BlockTitle>Fill Buttons</BlockTitle>
      <Block strong outlineIos>
        <div className="grid grid-cols-3 grid-gap">
          <Button fill>Button</Button>
          <Button fill>Button</Button>
          <Button fill round>
            Round
          </Button>
        </div>
      </Block>

      <BlockTitle>Outline Buttons</BlockTitle>
      <Block strong outlineIos>
        <div className="grid grid-cols-3 grid-gap">
          <Button outline>Button</Button>
          <Button outline>Button</Button>
          <Button outline round>
            Round
          </Button>
        </div>
      </Block>

      <BlockTitle>Raised Buttons</BlockTitle>
      <Block strong outlineIos>
        <p className="grid grid-cols-3 grid-gap">
          <Button raised>Button</Button>
          <Button raised fill>
            Fill
          </Button>
          <Button raised outline>
            Outline
          </Button>
        </p>
        <p className="grid grid-cols-3 grid-gap">
          <Button raised round>
            Round
          </Button>
          <Button raised fill round>
            Fill
          </Button>
          <Button raised outline round>
            Outline
          </Button>
        </p>
      </Block>

      <BlockTitle>Large Buttons</BlockTitle>
      <Block strong outlineIos>
        <p className="grid grid-cols-2 grid-gap">
          <Button large>Button</Button>
          <Button large fill>
            Fill
          </Button>
        </p>
        <p className="grid grid-cols-2 grid-gap">
          <Button large raised>
            Raised
          </Button>
          <Button large raised fill>
            Raised Fill
          </Button>
        </p>
      </Block>

      <BlockTitle>Small Buttons</BlockTitle>
      <Block strong outlineIos>
        <p className="grid grid-cols-3 grid-gap">
          <Button small>Button</Button>
          <Button small outline>
            Outline
          </Button>
          <Button small fill>
            Fill
          </Button>
        </p>
        <p className="grid grid-cols-3 grid-gap">
          <Button small round>
            Button
          </Button>
          <Button small outline round>
            Outline
          </Button>
          <Button small fill round>
            Fill
          </Button>
        </p>
      </Block>

      <BlockTitle>Preloader Buttons</BlockTitle>
      <Block strong outlineIos>
        <p className="grid grid-cols-2 grid-gap">
          <Button preloader loading={isLoading1} onClick={load1} large>
            Load
          </Button>
          <Button preloader loading={isLoading2} onClick={load2} large fill>
            Load
          </Button>
        </p>
      </Block>

      <BlockTitle>Color Buttons</BlockTitle>
      <Block strong outlineIos>
        <div className="grid grid-cols-3 grid-gap">
          <Button color="red">Red</Button>
          <Button color="green">Green</Button>
          <Button color="blue">Blue</Button>
        </div>
      </Block>

      <BlockTitle>Color Fill Buttons</BlockTitle>
      <Block strong outlineIos>
        <p className="grid grid-cols-3 grid-gap">
          <Button color="red">Red</Button>
          <Button color="green">Green</Button>
          <Button color="blue">Blue</Button>
        </p>
        <p className="grid grid-cols-3 grid-gap">
          <Button color="pink">Pink</Button>
          <Button color="yellow">Yellow</Button>
          <Button color="orange">Orange</Button>
        </p>
        <p className="grid grid-cols-3 grid-gap">
          <Button color="black">Black</Button>
          <Button color="white">White</Button>
        </p>
      </Block>
    </Page>
  );
};
无噪 Logo
无噪文档
中文文档 · 复刻官网
查看所有 ↗