0.2.0 • Published 4 years ago

xy-messagebox v0.2.0

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago
IEChromeFirefoxOperaSafari
IE 10+ ✔Chrome 31.0+ ✔Firefox 31.0+ ✔Opera 30.0+ ✔Safari 7.0+ ✔

NPM version node version npm download

xy-messagebox

xy-messagebox

消息框组件, 弹出提示框,确认框,输入框。

安装

# yarn
yarn add xy-messagebox

使用例子

import React from "react";
import ReactDOM from "react-dom";
import { MessageBox, Alert, Confirm, Prompt, MessageBoxLocal, MessageBoxPopup } from "xy-messagebox";
ReactDOM.render(<Alert title="警告" message="确定退出系统吗?" />, container);

js 调用

var close = MessageBoxPopup.Alert({
    title: "提示",
    message: (
        <p>
            这是提示 <a onClick={() => close()}>关闭</a>
        </p>
    ),
    onClose: () => {
        console.log("关闭了");
    },
});

API

MessageBox

属性说明类型默认值
visible是否显示booleanfalse
defaultVisible否默认显示booleanfalse
initialFocus对话框打开焦点元素选择器boolean
getContainer返回一个容器来装载抽屉HTMLElement/() => HTMLElement
children对话框内容React.ReactNode
fixed是否固定booleantrue
showMask是否显示蒙层booleantrue
maskClose蒙层是否可关闭对话框booleantrue
closeOnPressEsc是否 ESC 关闭booleantrue
onChange对话框可视改变事件(visible: boolean) => void
onKeyDown键盘按下事件(event: React.KeyboardEvent) => void
onUnmount对话框关闭动画结束Function
onClose关闭事件Function
getCloseFunc获取关闭函数(close: Function) => void

Alert

属性说明类型默认值
title标题React.ReactNode
message内容React.ReactNode
type图标类型"info"/"success"/"error"/"warning"/IconDefinition"info"
confirmText确定按钮文本string
footer自定义页脚按钮React.ReactNode

Confirm

属性说明类型默认值
title标题React.ReactNode
message内容React.ReactNode
confirmText确定按钮文本React.ReactNode
cancelText取消文本React.ReactNode
onConfirm确定事件() => Promise
onCancel取消事件Function

Prompt

属性说明类型默认值
title标题React.ReactNode
message内容React.ReactNode
confirmText确定按钮文本React.ReactNode
cancelText取消文本React.ReactNode
onConfirm确定事件(value: strin) => Promise
onCancel取消事件Function
defaultValue默认内容string
placeholder占位符文本string
valid验证函数, 验证成功返回 true, 严重失败返回失败原因字符串(val: string) => booleanstring

开发

yarn run start

例子

http://localhost:6006

测试

yarn run test

开源许可

xy-messagebox is released under the MIT license.