From d3823e95d28862e00d34489986fd95e5bb84bc32 Mon Sep 17 00:00:00 2001 From: yiminghe Date: Fri, 5 Jun 2015 12:05:52 +0800 Subject: [PATCH] update modal --- components/modal/demo/basic.md | 3 ++- components/modal/index.jsx | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/components/modal/demo/basic.md b/components/modal/demo/basic.md index 43c4bf2764..59ea82727f 100644 --- a/components/modal/demo/basic.md +++ b/components/modal/demo/basic.md @@ -16,8 +16,9 @@ function show() { onCancel: function() { alert('cancel'); }, - onOk: function() { + onOk: function(close) { alert('ok'); + setTimeout(close,100); } }); } diff --git a/components/modal/index.jsx b/components/modal/index.jsx index 816f2ee63e..9795a60ad8 100644 --- a/components/modal/index.jsx +++ b/components/modal/index.jsx @@ -21,18 +21,22 @@ module.exports = function (props) { if (props.onCancel) { props.onCancel(); } + close(); + } + + function close() { d.setState({ visible: false }); } function onOk() { - if (props.onOk) { - props.onOk(); + var onOk = props.onOk; + if (onOk) { + onOk(close); + } else { + close(); } - d.setState({ - visible: false - }); } var footer = [ @@ -46,6 +50,8 @@ module.exports = function (props) { props.visible = true; props.children = props.content; props.footer = footer; - var d = React.render(, div); - return d; + var d; + React.render(, div, function () { + d = this; + }); };