diff --git a/packages/design/src/card/demo/with-form.tsx b/packages/design/src/card/demo/with-form.tsx
new file mode 100644
index 000000000..4de66534b
--- /dev/null
+++ b/packages/design/src/card/demo/with-form.tsx
@@ -0,0 +1,50 @@
+import React from 'react';
+import { Button, Card, Form, Input } from '@oceanbase/design';
+
+export default () => {
+ const [form] = Form.useForm();
+ const { validateFields } = form;
+
+ const handleSubmit = () => {
+ validateFields().then(values => {
+ const { name, age } = values;
+ alert(`name: ${name}; age: ${age}`);
+ });
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/packages/design/src/card/index.md b/packages/design/src/card/index.md
index e27ae0fad..f54dbba98 100644
--- a/packages/design/src/card/index.md
+++ b/packages/design/src/card/index.md
@@ -19,6 +19,7 @@ nav:
+
diff --git a/packages/design/src/modal/demo/form.tsx b/packages/design/src/modal/demo/form.tsx
new file mode 100644
index 000000000..96af1270c
--- /dev/null
+++ b/packages/design/src/modal/demo/form.tsx
@@ -0,0 +1,66 @@
+import React, { useState } from 'react';
+import { Button, Form, Input, Modal } from '@oceanbase/design';
+
+export default () => {
+ const [form] = Form.useForm();
+ const { validateFields } = form;
+
+ const [open, setOpen] = useState(false);
+
+ const handleSubmit = () => {
+ validateFields().then(values => {
+ const { name, age } = values;
+ alert(`name: ${name}; age: ${age}`);
+ });
+ };
+
+ return (
+ <>
+
+ {
+ handleSubmit();
+ }}
+ onCancel={() => {
+ setOpen(false);
+ }}
+ >
+
+
+
+
+
+
+
+
+ >
+ );
+};
diff --git a/packages/design/src/modal/index.md b/packages/design/src/modal/index.md
index e3fead04d..03081ad9b 100644
--- a/packages/design/src/modal/index.md
+++ b/packages/design/src/modal/index.md
@@ -15,6 +15,7 @@ nav:
+