diff --git a/components/modal/__tests__/__snapshots__/demo.test.js.snap b/components/modal/__tests__/__snapshots__/demo.test.js.snap index 3a8d3ac5e1fd..14a1c6f9cfe2 100644 --- a/components/modal/__tests__/__snapshots__/demo.test.js.snap +++ b/components/modal/__tests__/__snapshots__/demo.test.js.snap @@ -283,6 +283,17 @@ exports[`renders ./components/modal/demo/manual.md correctly 1`] = ` `; +exports[`renders ./components/modal/demo/modal-render.md correctly 1`] = ` + +`; + exports[`renders ./components/modal/demo/position.md correctly 1`] = ` Array [ + { + if (this.state.disabled) { + this.setState({ + disabled: true, + }); + } + }} + onMouseOut={() => { + this.setState({ + disabled: false, + }); + }} + // fix eslintjsx-a11y/mouse-events-have-key-events + // https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/docs/rules/mouse-events-have-key-events.md + onFocus={() => {}} + onBlur={() => {}} + // end + > + Draggable Modal + + } + visible={this.state.visible} + onOk={this.handleOk} + onCancel={this.handleCancel} + modalRender={modal => {modal}} + > +

+ Just don't learn physics at school and your life will be full of magic and + miracles. +

+
+

Day before yesterday I saw a rabbit, and yesterday a deer, and today, you.

+
+ + ); + } +} + +ReactDOM.render(, mountNode); +``` diff --git a/components/modal/index.en-US.md b/components/modal/index.en-US.md index b37a2a39cf18..10508cd054cb 100644 --- a/components/modal/index.en-US.md +++ b/components/modal/index.en-US.md @@ -31,6 +31,7 @@ When requiring users to interact with the application, but without jumping to a | mask | Whether show mask or not | boolean | true | | maskClosable | Whether to close the modal dialog when the mask (area outside the modal) is clicked | boolean | true | | maskStyle | Style for modal's mask element | object | {} | +| modalRender | Custom modal content render | (node: ReactNode) => ReactNode | - | 4.7.0 | | okButtonProps | The ok button props | [ButtonProps](/components/button/#API) | - | | okText | Text of the OK button | string \| ReactNode | `OK` | | okType | Button `type` of the OK button | string | `primary` | diff --git a/components/modal/index.zh-CN.md b/components/modal/index.zh-CN.md index 2f9418deac22..d58369e79c9d 100644 --- a/components/modal/index.zh-CN.md +++ b/components/modal/index.zh-CN.md @@ -34,6 +34,7 @@ cover: https://gw.alipayobjects.com/zos/alicdn/3StSdUlSH/Modal.svg | mask | 是否展示遮罩 | boolean | true | | maskClosable | 点击蒙层是否允许关闭 | boolean | true | | maskStyle | 遮罩样式 | object | {} | +| modalRender | 自定义渲染对话框 | (node: ReactNode) => ReactNode | - | 4.7.0 | | okButtonProps | ok 按钮 props | [ButtonProps](/components/button/#API) | - | | okText | 确认按钮文字 | string \| ReactNode | `确定` | | okType | 确认按钮类型 | string | `primary` | diff --git a/package.json b/package.json index b6b6f9237cf3..90e82fac12dc 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ "rc-cascader": "~1.3.0", "rc-checkbox": "~2.3.0", "rc-collapse": "~2.0.0", - "rc-dialog": "~8.2.1", + "rc-dialog": "~8.3.0", "rc-drawer": "~4.1.0", "rc-dropdown": "~3.1.2", "rc-field-form": "~1.10.0", @@ -249,6 +249,7 @@ "react-dnd": "^11.1.1", "react-dnd-html5-backend": "^11.1.1", "react-dom": "^16.9.0", + "react-draggable": "^4.4.3", "react-github-button": "^0.1.11", "react-helmet-async": "^1.0.4", "react-highlight-words": "^0.16.0",