0.1.10 • Published 6 years ago

uxcore-drawer v0.1.10

Weekly downloads
13
License
MIT
Repository
github
Last release
6 years ago

uxcore-drawer

Drawer Component base on React.

何时使用

  1. 当需要一个面板来做页面外操作,比如切换导航、应用中心等。
  2. 当需要一个面板来控制父窗体的内容,承载的信息量介于弹窗与新页面之间,比如新建、导入等。
  3. 当需要一个面板来预览内容,承载的信息量介于弹窗与新页面之间

Development

git clone git@github.com:uxcore/uxcore-drawer.git
cd uxcore-drawer
npm install
npm run start

if you'd like to save your install time,you can use uxcore-tools globally.

npm install uxcore-tools -g
git clone git@github.com:uxcore/uxcore-drawer.git
cd uxcore-drawer
npm install
npm run dep
npm run start

Test Case

npm run test

Coverage

npm run coverage

Demo

https://github.com/uxcore/uxcore-drawer

API

参数说明类型默认值
titleTitle of the drawerString/React.Element
visiblecurrent drawer's visible statusBooleanfalse
placementcurrent drawer's directionleft/rightright
sizecurrent drawer's sizesmall(400px)/normal(780px),large(1160px)noraml
onOkthe callback when ok clickedfunction
onCancelthe callback when dialog closedfunction
widthdrawer widthString or Number
footerfooter of the drawerReact.Element
showFootershow footer of the drawerBooleantrue
closablewhether show close button and click mask to closeBooleantrue
maskClosablewhether click mask to close, this prop will be ignored if set closable prop to falseBooleantrue
locale国际化(包括 zh-cn, en-us, 和 pl-pl)Stringzh-cn
classNameadditional className for drawerstring
wrapClassNameadditional className for drawer wrapstringvertical-center-dailog for vertical align the drawer
styleRoot style for drawer element.Such as width, heightObject{}
zIndexNumber
bodyStylebody style for drawer body element.Such as heightNumber{}

使用方法: 1、基本信息预览,点击遮罩层可以关闭

closeDrawer(state) {
    this.setState({
      [state]: false,
    });
  },
 
 <Drawer
  visible={menuVisible}
  title="菜单导航"
  size="small"
  placement="left"
  showFooter={false}
  closable={false}
  onCancel={this.closeDrawer.bind(this, 'menuVisible')}
    >
    <ul className="demo-menu">
        <li>菜单一</li>
        <li>菜单二</li>
        <li>菜单三</li>
        <li>菜单四</li>
        <li>菜单五</li>
        <li>菜单六</li>
      </ul>
  </Drawer>

2、包含相应的操作,如果是包含操作行为,可像Uxcore.dialog一样自定义footer,且指定弹窗的maskClosable为false,防止误操作

 <Drawer
      visible={visible}
      title="抽屉组件"
      size="normal"
      placement="right"
      onOk={this.handleOk}
      maskClosable={false}
      onCancel={this.closeDrawer.bind(this, 'visible')}
      footer={}
    >
    <div className="demo-mode">
        <Form
          ref={(c) => { this.form = c; }}
          className="demo-basic-form"
          jsxvalues={{
             theme: 'Form 展示',
             location: 'Uxcore 站点',
             date: ['2015-10-15', '2015-11-15'],
             content: '这是一个 Form 的模式转换页面。',
          }}
          jsxmode={mode}
        >
       <Input jsxname="theme" jsxlabel="主题" required jsxplaceholder="请输入主题" />
       <Input
          jsxname="location"
          jsxlabel="地点"
          required
          jsxplaceholder="请输入地点"
          jsxrules={[
                { validator: Validators.isNotEmpty, errMsg: '不能为空' },
             ]}
        />
          <Date jsxname="date" jsxlabel="时间" jsxtype="cascade" autoMatchWidth />
           <TextArea
            jsxname="content"
            jsxlabel="内容"
            required
            jsxrules={[
               { validator: Validators.isNotEmpty, errMsg: '不能为空' },
              ]}
            />
      </Form>
   	</div>
 </Drawer>

3、二级抽屉

<Drawer
  visible={basicVisible}
  title="基本信息展示"
  width={600}
  placement="right"
  showFooter={false}
  closable={false}
  onCancel={this.closeDrawer.bind(this, 'basicVisible')}
>
<p>text text text texttext</p>
<p>text text text texttext</p>
<p>text text text texttext</p>
<p>text text text texttext</p>
<Button
  onClick={this.showDrawer.bind(this, 'zoneVisible')}
  style={{ marginTop: '20px' }}
  key="show"
>
二级抽屉
</Button>
  <Drawer
    visible={zoneVisible}
    title="二级组件"
    size="normal"
    placement="right"
    onOk={this.handleOk}
    closable={false}
    showFooter={false}
    onCancel={this.closeDrawer.bind(this, 'zoneVisible')}
  >
  <div>这是第二层的抽屉组件</div>
  </Drawer>
</Drawer>
0.1.10

6 years ago

0.1.9

6 years ago

0.1.8

6 years ago

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago