UNPKG

phoenix-ui

Version:
1,053 lines (644 loc) 32.5 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, minimal-ui" /> <title>MenuBody - phoenix-ui</title> <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css"> <link rel="stylesheet" href="../assets/vendor/bootstrap/css/bootstrap.css"> <link rel="stylesheet" href="../assets/css/main.css" id="site_styles"> <link rel="shortcut icon" type="image/png" href="../assets/favicon.png"> </head> <body class="yui3-smart" _assetsPath="../assets"> <nav class="navbar navbar-inverse navbar-fixed-top custom-navbar" role="navigation"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand mainlogo" href=""> <img alt="phoenix-ui" src="../assets/css/logo.png" title="phoenix-ui"> phoenix-ui </a> </div> <div id="navbar" class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="index.html">主页</a> </li> </ul> <div class="navbar-form navbar-right filterAPi" autocomplete="off"> <input type="text" id='txtSearchAPI' class="form-control search-query" placeholder="Search for API" /> <ul id="filterList" class="filterItems dropdown-menu" role="menu"></ul> </div> </div> </div> </nav> <div id="sidebar"> <h3>模块/类</h3> <div id="api-tabview-filter"> <input id='txtSearch' type="search" class="form-control" placeholder="Type to filter Modules/Classes"> </div> <dl id="sidebar_list"> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/基础组件.html">基础组件</a> </dt> <dd> <ul> <li> <a href="../classes/Button.html">Button</a> <ul> </ul> </li> <li> <a href="../classes/ButtonGroup.html">ButtonGroup</a> <ul> </ul> </li> <li> <a href="../classes/Star.html">Star</a> <ul> </ul> </li> </ul> </dd> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/布局组件.html">布局组件</a> </dt> <dd> <ul> <li> <a href="../classes/Row.html">Row</a> <ul> </ul> </li> <li> <a href="../classes/TableView.html">TableView</a> <ul> </ul> </li> <li> <a href="../classes/Col.html">Col</a> <ul> </ul> </li> <li> <a href="../classes/Grid.html">Grid</a> <ul> </ul> </li> </ul> </dd> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/弹出框组件.html">弹出框组件</a> </dt> <dd> <ul> <li> <a href="../classes/Alert.html">Alert</a> <ul> </ul> </li> <li> <a href="../classes/Dialog.html">Dialog</a> <ul> </ul> </li> <li> <a href="../classes/Prompt.html">Prompt</a> <ul> </ul> </li> </ul> </dd> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/提示组件.html">提示组件</a> </dt> <dd> <ul> <li> <a href="../classes/Popover.html">Popover</a> <ul> </ul> </li> <li> <a href="../classes/Whisper.html">Whisper</a> <ul> </ul> </li> </ul> </dd> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/操作类组件.html">操作类组件</a> </dt> <dd> <ul> <li> <a href="../classes/ImageList.html">ImageList</a> <ul> </ul> </li> <li> <a href="../classes/LoadingList.html">LoadingList</a> <ul> </ul> </li> <li> <a href="../classes/Popup.html">Popup</a> <ul> </ul> </li> <li> <a href="../classes/Slider.html">Slider</a> <ul> </ul> </li> <li> <a href="../classes/Steps.html">Steps</a> <ul> </ul> </li> <li> <a href="../classes/Toast.html">Toast</a> <ul> </ul> </li> <li> <a href="../classes/Accordion.html">Accordion</a> <ul> </ul> </li> <li> <a href="../classes/Swipe.html">Swipe</a> <ul> </ul> </li> </ul> </dd> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/标签组件.html">标签组件</a> </dt> <dd> <ul> <li> <a href="../classes/Icon.html">Icon</a> <ul> </ul> </li> <li> <a href="../classes/Badge.html">Badge</a> <ul> </ul> </li> <li> <a href="../classes/Label.html">Label</a> <ul> </ul> </li> </ul> </dd> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/菜单组件.html">菜单组件</a> </dt> <dd> <ul> <li> <a href="../classes/Menu.html">Menu</a> <ul> </ul> </li> <li> <a href="../classes/MenuBody.html">MenuBody</a> <ul> </ul> </li> <li> <a href="../classes/MenuHeader.html">MenuHeader</a> <ul> </ul> </li> <li> <a href="../classes/MenuItem.html">MenuItem</a> <ul> </ul> </li> <li> <a href="../classes/MenuList.html">MenuList</a> <ul> </ul> </li> <li> <a href="../classes/MenuNav.html">MenuNav</a> <ul> </ul> </li> </ul> </dd> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/表单组件.html">表单组件</a> </dt> <dd> <ul> <li> <a href="../classes/Input.html">Input</a> <ul> </ul> </li> <li> <a href="../classes/Switch.html">Switch</a> <ul> </ul> </li> <li> <a href="../classes/FormGroup.html">FormGroup</a> <ul> </ul> </li> <li> <a href="../classes/TextArea.html">TextArea</a> <ul> </ul> </li> </ul> </dd> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/辅助组件.html">辅助组件</a> </dt> <dd> <ul> <li> <a href="../classes/Drag.html">Drag</a> <ul> </ul> </li> <li> <a href="../classes/Animate.html">Animate</a> <ul> </ul> </li> </ul> </dd> <dt> <span class="glyphicon glyphicon-minus"></span> <a href="../modules/选项卡.html">选项卡</a> </dt> <dd> <ul> <li> <a href="../classes/Tab.html">Tab</a> <ul> </ul> </li> <li> <a href="../classes/Tabset.html">Tabset</a> <ul> </ul> </li> </ul> </dd> </dl> <div class="icon-sidebar-btn icon-sidebar-btn-open"><span class="glyphicon glyphicon-chevron-left"></span>收起</div> </div> <div class="stdoc-content"> <div class="apidocs"> <div id="docs-main"> <div class="content"> <div class="page-header"> <h1>MenuBody</h1> </div> <div class="well well-small sign-left3"> <div class="stdoc-code"><p>菜单内容组件<br/></p> <ul> <li>通过placement设置菜单出现的位置和类型, 可选 [top,left,right,left-full,right-full,full-screen]。</li> <li>可通过width设置侧边菜单的宽度, 当前placement为top和full-screen不生效。</li> <li>可通过closeButton来配置菜单主体右上角X按钮是否显示。</li> </ul> <p>主要属性和接口:</p> <ul> <li>placement:菜单出现的位置和类型, 默认top。</li> <li>width:侧边菜单的宽度, 当前placement为top和full-screen不生效。</li> <li>closeButton:菜单主体右上角X按钮是否显示, 默认不显示。<br/> 如:<pre><code class="lang-code"> &lt;Menu&gt; &lt;Menu.Header&gt; 标题一 &lt;/Menu.Header&gt; &lt;Menu.Body width={60} placement="left" closeButton&gt; ... &lt;/Menu.Body&gt; &lt;/Menu&gt;</code></pre> </li> </ul> </div> </div> <div class="well well-small sign-left2 container-fluid" id="classesItems"> <div class="row"> <div class="index-section methods col-sm-4"> <h3>方法</h3> </div> <div class="index-section properties col-sm-4"> <h3>属性</h3> <ul class="index-list properties extends"> <li class="index-item property"> <a href="#" data-tabid="#property" data-anchor="#property_classPrefix" data-tablink="classPrefix">classPrefix</a> </li> <li class="index-item property"> <a href="#" data-tabid="#property" data-anchor="#property_closeButton" data-tablink="closeButton">closeButton</a> </li> <li class="index-item property"> <a href="#" data-tabid="#property" data-anchor="#property_placement" data-tablink="placement">placement</a> </li> <li class="index-item property"> <a href="#" data-tabid="#property" data-anchor="#property_width" data-tablink="width">width</a> </li> </ul> </div> <div class="index-section events col-sm-4"> <h3>事件</h3> </div> </div> </div> <div class=""> <ul id="itemTab" class="nav nav-tabs"> <li class="active"><a data-toggle="tab" href="#class">详情</a></li> <li class=""><a data-toggle="tab" href="#property">属性</a></li> </ul> <div class="tab-content"> <div id="class" class="tab-pane active"> <div class="well well-small classDetail sign-left1"> <div class="extends"> Extends Component </div> <div class="foundat"> Defined in: <a href="../files/src_menu_MenuBody.js.html#l9"><code>src&#x2F;menu&#x2F;MenuBody.js:9</code></a> </div> Module: <a href="../modules/菜单组件.html">菜单组件</a> <p>Available since 1.3.0</p> </div> <div class="constructor"> <h2>Constructor</h2> <div id="method_MenuBody" class="method item"> <h3 class="name">MenuBody</h3> <code> MenuBody <span class="paren">()</span> </code> <div class="meta"> <p class="foundat"> Defined in <a href="../files/src_menu_MenuBody.js.html#l9"><code>src&#x2F;menu&#x2F;MenuBody.js:9</code></a> </p> <p>Available since 1.3.0</p> </div> <div class="description well well-small sign-left3"> </div> <div class="example app-example"> <h4>Example:</h4> <ul class="nav nav-tabs example-list"> <li role="presentation" class="active" data-demo="https://future-team.github.io/phoenix-ui/examples/index.html#/menu" _no='0'> <a>展示</a></li> </ul> <div class="example-content showdemo "> <div class="stdoc-code"><pre class="code prettyprint"><code>import React, { Component } from "react"; import classnames from "classnames"; import {Menu, Button, Icon, Input} from "phoenix-ui"; import Code from "./code/code"; export default class menu extends Component{ constructor(props,context){ super(props,context); this.state = { visible: false, placement: &#39;top&#39;, align: &#39;left&#39;, width: 40, closeButton: false, navAlign: &#39;top&#39;, activeName: &#39;index&#39;, value: &#39;ha&#39; } } onMenuChange(visible){ console.log(visible); } switchAlign(){ let newAlign = "left"; if(this.state.align == "left") newAlign="right"; this.setState({ align: newAlign }); } switchPlacement(){ this.setState({ placement: "left-full" }); } switchWidth(){ this.setState({ width: 50 }); } switchCloseButton(){ this.setState({ closeButton: !this.state.closeButton }); } switchNavAlign(){ this.setState({ navAlign: &#39;center&#39; }); } switchActiveName(){ this.setState({ activeName: &#39;menu&#39; }); } // 必需 setActiveName(name){ this.setState({ activeName: name, visible: false // 如果需要点击之后关闭false }); } onMenuItemChange(name){ console.log(name); } onInputChange(e){ this.setState({ value: e.target.value }); } render(){ return( &lt;div&gt; &lt;Menu visible={this.state.visible} scrollCeiling={100} onMenuChange={::this.onMenuChange}&gt; &lt;Menu.Header align={this.state.align}&gt;Phoenix&lt;/Menu.Header&gt; &lt;Menu.Body width={this.state.width} placement={this.state.placement} closeButton={this.state.closeButton}&gt; &lt;Menu.Nav align={this.state.navAlign}&gt; &lt;div&gt; &lt;Input placeholder="自定义部分" value={this.state.value} onChange={::this.onInputChange}/&gt; &lt;/div&gt; &lt;Menu.List activeName={this.state.activeName} onMenulistChange={::this.setActiveName}&gt; &lt;Menu.Item name="index" phIcon="home"&gt;首页&lt;/Menu.Item&gt; &lt;Menu.Item name="menu" href="#menu" phIcon="menu" onChange={::this.onMenuItemChange}&gt;菜单&lt;/Menu.Item&gt; &lt;/Menu.List&gt; &lt;/Menu.Nav&gt; &lt;/Menu.Body&gt; &lt;/Menu&gt; &lt;h2 className="comp-title"&gt;Menu&lt;/h2&gt; &lt;h3 className="comp-type"&gt;&lt;strong&gt;Menu属性&lt;/strong&gt;&lt;/h3&gt; &lt;h3 className="comp-type"&gt;visible(默认false) 初始可见值&lt;/h3&gt; &lt;Code target="menu-visible" /&gt; &lt;h3 className="comp-type"&gt;scrollCeiling 滚动吸顶的距离,默认不吸顶&lt;/h3&gt; &lt;h3 className="comp-tip"&gt;当前设置为100&lt;/h3&gt; &lt;Code target="menu-scrollceiling" /&gt; &lt;h3 className="comp-type"&gt;onMenuChange 菜单展开收起的回调函数&lt;/h3&gt; &lt;Code target="menu-onmenuchange" /&gt; &lt;h3 className="comp-type"&gt;&lt;strong&gt;MenuHeader属性&lt;/strong&gt;&lt;/h3&gt; &lt;h3 className="comp-type"&gt;align(默认left) 菜单按钮的位置&lt;/h3&gt; &lt;div className="content"&gt; &lt;Button onClick={::this.switchAlign}&gt;切换align值:默认left&lt;/Button&gt; &lt;/div&gt; &lt;Code target="menu-header-align" /&gt; &lt;h3 className="comp-type"&gt;&lt;strong&gt;MenuBody属性&lt;/strong&gt;&lt;/h3&gt; &lt;h3 className="comp-type"&gt;placement(默认top) 菜单的位置&lt;/h3&gt; &lt;div className="content"&gt; &lt;Button onClick={::this.switchPlacement}&gt;改变placement值:top-&gt;left-full&lt;/Button&gt; &lt;/div&gt; &lt;Code target="menu-body-placement" /&gt; &lt;h3 className="comp-type"&gt;width(默认50) 侧边菜单的宽度&lt;/h3&gt; &lt;div className="content"&gt; &lt;Button onClick={::this.switchWidth}&gt;改变width值:40-&gt;50&lt;/Button&gt; &lt;/div&gt; &lt;Code target="menu-body-width" /&gt; &lt;h3 className="comp-type"&gt;closeButton 菜单主体的关闭按钮是否显示&lt;/h3&gt; &lt;div className="content"&gt; &lt;Button onClick={::this.switchCloseButton}&gt;切换closeButton值:默认false&lt;/Button&gt; &lt;/div&gt; &lt;Code target="menu-body-closebutton" /&gt; &lt;h3 className="comp-type"&gt;&lt;strong&gt;MenuNav属性&lt;/strong&gt;&lt;/h3&gt; &lt;h3 className="comp-type"&gt;align(默认top) 导航的位置&lt;/h3&gt; &lt;div className="content"&gt; &lt;Button onClick={::this.switchNavAlign}&gt;改变align值:top-&gt;center&lt;/Button&gt; &lt;/div&gt; &lt;Code target="menu-nav-align" /&gt; &lt;h3 className="comp-type"&gt;&lt;strong&gt;MenuList属性&lt;/strong&gt;&lt;/h3&gt; &lt;h3 className="comp-type"&gt;activeName(默认null) 当前导航选中的菜单项&lt;/h3&gt; &lt;div className="content"&gt; &lt;Button onClick={::this.switchActiveName}&gt;改变activeName值:index-&gt;menu&lt;/Button&gt; &lt;/div&gt; &lt;Code target="menu-list-onmenulistchange" /&gt; &lt;h3 className="comp-type"&gt;onMenulistChange 点击菜单项时的回调,函数内必需手动更改activeName值&lt;/h3&gt; &lt;Code target="menu-list-onmenulistchange" /&gt; &lt;h3 className="comp-type"&gt;&lt;strong&gt;MenuItem属性&lt;/strong&gt;&lt;/h3&gt; &lt;h3 className="comp-type"&gt;phIcon(默认无) 菜单项名称前面的符号️类型&lt;/h3&gt; &lt;Code target="menu-item-phicon" /&gt; &lt;h3 className="comp-type"&gt;name(默认无) 当前导航选中的菜单项&lt;/h3&gt; &lt;Code target="menu-item-name" /&gt; &lt;h3 className="comp-type"&gt;href(默认无) 菜单项的链接&lt;/h3&gt; &lt;Code target="menu-item-href" /&gt; &lt;h3 className="comp-type"&gt;onMenuitemChange 点击菜单项时的回调&lt;/h3&gt; &lt;Code target="menu-item-onmenuitemchange" /&gt; &lt;/div&gt; ); } }</code></pre> </div> </div> <div class="btn-method-box"> <button class="btn btn-info btn-viewDemo" type="button">查看示例</button> <button class="btn btn-info btn-editDemo" type="button">编辑代码</button> </div> <div class="device"></div> </div> </div> </div> </div> <div id="property" class="tab-pane"> <h2 class="off-left">属性</h2> <div id="property_classPrefix" class="property item"> <h3 class="name"><code>classPrefix</code></h3> <span class="type">String</span> <div class="meta"> <p class="foundat"> Defined in <a href="../files/src_menu_MenuBody.js.html#l41"><code>src&#x2F;menu&#x2F;MenuBody.js:41</code></a> </p> </div> <div class="description"> <div class="stdoc-code"><p>样式前缀</p> </div> </div> <p><strong>Default:</strong></p> <code> &#x27;menu-body&#x27;</code> </div> <div id="property_closeButton" class="property item"> <h3 class="name"><code>closeButton</code></h3> <span class="type">Boolean</span> <div class="meta"> <p class="foundat"> Defined in <a href="../files/src_menu_MenuBody.js.html#l63"><code>src&#x2F;menu&#x2F;MenuBody.js:63</code></a> </p> </div> <div class="description"> <div class="stdoc-code"><p>右上角按钮是否可见, 默认不可见</p> </div> </div> </div> <div id="property_placement" class="property item"> <h3 class="name"><code>placement</code></h3> <span class="type">String</span> <div class="meta"> <p class="foundat"> Defined in <a href="../files/src_menu_MenuBody.js.html#l48"><code>src&#x2F;menu&#x2F;MenuBody.js:48</code></a> </p> </div> <div class="description"> <div class="stdoc-code"><p>菜单位置, 可选[top,left,right,left-full,right-full,full-screen], 默认top</p> </div> </div> <p><strong>Default:</strong></p> <code> &#x27;top&#x27;</code> </div> <div id="property_width" class="property item"> <h3 class="name"><code>width</code></h3> <span class="type">Number</span> <div class="meta"> <p class="foundat"> Defined in <a href="../files/src_menu_MenuBody.js.html#l55"><code>src&#x2F;menu&#x2F;MenuBody.js:55</code></a> </p> </div> <div class="description"> <div class="stdoc-code"><p>自定义菜单宽度百分比(限左右)</p> </div> </div> <p><strong>Default:</strong></p> <code> 50</code> </div> </div> </div> </div> </div> </div> </div> </div> <a id="gotoTop" class='well well-small' href='#'> </a> <script src="../assets/vendor/jquery/jquery-1.8.2.js"></script> <script src="../assets/vendor/bootstrap/js/bootstrap.js"></script> <script src="../assets/vendor/prettify/prettify-min.js"></script> <script src="../assets/js/config.js"></script> <script src="../assets/js/doc.js"></script> </body> </html>