- Submit
-
-
-
-
-
- Reset
-
-
-
-
-
-
-
-
-
-
-
- setActiveParentTab(tab as string)}>
-
-
-
-
-
-
-
-
-
-
-
-
- {() => (
-
-
-
-
-
-
-
-
+ setActiveParentTab(tab as string)} lazy={false}>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ setActiveChildTab(tab as string)}
+ position='left-top'
+ shape='card'
+ lazy={false}
+ >
+
+ {({ index }) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
-
-
- )}
-
-
-
-
- setActiveChildTab(tab as string)}
- position='left-top'
- shape='card'
- >
-
- {({ list, index }) => {
- if (list.length === 0) return 暂无brandPartnerUpsertReq;
- return (
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
- }}
-
-
-
-
-
+
+
+ );
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reset
+ Submit
+
+
+
{/*
{JSON.stringify(formValue, null, 2)}
*/}
diff --git a/packages/shineout/src/form/__example__/test-002-validate-scrolltoerror.tsx b/packages/shineout/src/form/__example__/test-002-validate-scrolltoerror.tsx
new file mode 100644
index 000000000..91d9ed15c
--- /dev/null
+++ b/packages/shineout/src/form/__example__/test-002-validate-scrolltoerror.tsx
@@ -0,0 +1,241 @@
+/**
+ * cn - scrollToField
+ * -- 滚动到指定字段
+ * en - Form Methods
+ * -- You can use formRef to get some methods of the form, including validation, clear validation, submission, etc
+ */
+import React, { useState } from 'react';
+import { Form, Input, Button, Tabs, Grid, Select, DatePicker } from 'shineout';
+import testFromValue from './temp/test-form-value';
+
+type ValueType = any;
+
+const App: React.FC = () => {
+ const [activeParentTab, setActiveParentTab] = useState('public-panel');
+ const [activeChildTab, setActiveChildTab] = useState('child-panel-0');
+ const [form, setForm] = Form.useForm
();
+ const [formValue, setFormValue] = useState(testFromValue);
+
+ return (
+
+ );
+};
+
+export default App;