phoenix-ui
Version:
future team ui for app with react
836 lines (508 loc) • 24.9 kB
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>Drag - 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>Drag</h1>
</div>
<div class="well well-small sign-left3">
<div class="stdoc-code"><p>拖拽组件<br/></p>
<ul>
<li>兼容移动端的touch和pc端的mouse事件。</li>
<li>可通过onDrag设置抓取的回调函数, 返回抓取在屏幕上的位置, 分别保存在start和move中, 以x和y的形式展示。</li>
<li>可通过onDrop设置松开瞬间的回调函数, 返回松开时在屏幕上的位置, 保存在end中, 以x和y的形式展示。</li>
</ul>
<p>示例:</p>
<pre><code class="lang-code"> <Drag onDrag={::this.onDrag} onDrop={::this.onDrop} style={{height:0}}>
<div className="box" ref={(box)=>{this.box = box}}>Drag</div>
</Drag></code></pre>
<pre><code class="lang-code"> onDrag(event,position){
this.prePosition = position.start;
this.nowPosition = position.move;
this.distanceX = this.preDistanceX + this.nowPosition.x - this.prePosition.x;
this.distanceY = this.preDistanceY + this.nowPosition.y - this.prePosition.y;
console.log(this.distanceX, this.distanceY);
}
onDrop(event,position){
this.preDistanceX = this.distanceX;
this.preDistanceY = this.distanceY;
}</code></pre>
</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>
<ul class="index-list methods extends">
<li class="index-item method">
<a href="#" data-tabid="#method" data-anchor="#method_onDrag" data-tablink="onDrag">onDrag</a>
</li>
<li class="index-item method">
<a href="#" data-tabid="#method" data-anchor="#method_onDrop" data-tablink="onDrop">onDrop</a>
</li>
</ul>
</div>
<div class="index-section properties col-sm-4">
<h3>属性</h3>
</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="#method">方法</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_Drag.js.html#l6"><code>src/Drag.js:6</code></a>
</div>
Module: <a href="../modules/辅助组件.html">辅助组件</a>
<p>Available since 1.0.0</p>
</div>
<div class="constructor">
<h2>Constructor</h2>
<div id="method_Drag" class="method item">
<h3 class="name">Drag</h3>
<code>
Drag
<span class="paren">()</span>
</code>
<div class="meta">
<p class="foundat">
Defined in
<a href="../files/src_Drag.js.html#l6"><code>src/Drag.js:6</code></a>
</p>
<p>Available since 1.0.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#/drag" _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 {Drag} from 'phoenix-ui';
import Code from "./code/code";
export default class toast extends Component{
constructor(props,context){
super(props,context);
this.preDistanceX = 0;
this.preDistanceY = 0;
this.distanceX = 0;
this.distanceY = 0;
}
onDrag(event,position){
this.prePosition = position.start;
this.nowPosition = position.move;
this.distanceX = this.preDistanceX + this.nowPosition.x - this.prePosition.x;
this.distanceY = this.preDistanceY + this.nowPosition.y - this.prePosition.y;
this.setBoxPosition(this.distanceX, this.distanceY);
}
onDrop(event,position){
this.preDistanceX = this.distanceX;
this.preDistanceY = this.distanceY;
}
setBoxPosition(x,y){
this.box.style.webkitTransform = 'translate('+x+'px,'+y+'px)';
this.box.style.transform = 'translate('+x+'px,'+y+'px)';
}
render(){
return(
<div>
<h2 className="comp-title">Drag</h2>
<h3 className="comp-type">Dragable Box demo</h3>
<Code target="drag" />
<div className="content-drag">
<Drag onDrag={::this.onDrag} onDrop={::this.onDrop} style={{height:0}}>
<div className="box" ref={(box)=>{this.box = box}}>Drag</div>
</Drag>
</div>
</div>
);
}
}</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="method" class="tab-pane">
<h2 class="off-left">方法</h2>
<div id="method_onDrag" class="method item">
<h3 class="name">onDrag</h3>
<code>
onDrag
<span class="paren">()</span>
</code>
<div class="meta">
<p class="foundat">
Defined in
<a href="../files/src_Drag.js.html#l45"><code>src/Drag.js:45</code></a>
</p>
</div>
<div class="description well well-small sign-left3">
<div class="stdoc-code"><p>抓取的执行函数,对应TouchStart/TouchMove</p>
</div>
</div>
</div>
<div id="method_onDrop" class="method item">
<h3 class="name">onDrop</h3>
<code>
onDrop
<span class="paren">()</span>
</code>
<div class="meta">
<p class="foundat">
Defined in
<a href="../files/src_Drag.js.html#l51"><code>src/Drag.js:51</code></a>
</p>
</div>
<div class="description well well-small sign-left3">
<div class="stdoc-code"><p>放开的执行函数,对应TouchEnd</p>
</div>
</div>
</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>