UNPKG

@jay.kou/rak-ssr

Version:

A react based UI components for admin system

101 lines (99 loc) 3.31 kB
import { Button, Space } from 'antd'; import { useRef } from 'react'; import { SchemaForm } from "../../.."; import DisplayComponent from "../components/DisplayComponent"; /** * 嵌套约定式表单示例 * 演示: * 1. 约定式初始值 * 2. 嵌套依赖显示 * 3. 表单操作(设置值/重置/提交) */ import { jsx as _jsx } from "react/jsx-runtime"; import { jsxs as _jsxs } from "react/jsx-runtime"; var ConventionNestDemo = function ConventionNestDemo() { var formRef = useRef(); /** * 表单提交处理 */ var handleFormFinish = function handleFormFinish(values) { var resultElement = document.querySelector('[data-testid="convention-nest-result"]'); if (resultElement) { resultElement.textContent = JSON.stringify(values, null, 2); } }; return /*#__PURE__*/_jsxs("div", { children: [/*#__PURE__*/_jsxs(Space, { direction: "vertical", children: [/*#__PURE__*/_jsx(Button, { "data-testid": "set-value-btn", onClick: function onClick() { var _formRef$current; return (_formRef$current = formRef.current) === null || _formRef$current === void 0 ? void 0 : _formRef$current.setFieldsValue({ id: '2', name: 'John' }); }, children: "\u8BBE\u7F6E\u503C" }), /*#__PURE__*/_jsx(Button, { "data-testid": "reset-btn", onClick: function onClick() { var _formRef$current2; return (_formRef$current2 = formRef.current) === null || _formRef$current2 === void 0 ? void 0 : _formRef$current2.resetFields(); }, children: "\u91CD\u7F6E" }), /*#__PURE__*/_jsx(Button, { "data-testid": "submit-btn", onClick: function onClick() { var _formRef$current3; return (_formRef$current3 = formRef.current) === null || _formRef$current3 === void 0 ? void 0 : _formRef$current3.submit(); }, children: "\u63D0\u4EA4" })] }), /*#__PURE__*/_jsx(SchemaForm, { formRef: formRef, onFinish: handleFormFinish // 设置初始值 , initialValues: { id: '1', name: 'Jennifer', id2: '3', name2: 'Tom' }, columns: [ // 主要名称字段 { title: '主要名称', dataIndex: 'id,name', renderFormItem: function renderFormItem() { return /*#__PURE__*/_jsx(DisplayComponent, {}); } }, // 依赖显示的次要名称字段 { valueType: 'dependency', name: ['id,name'], columns: function columns(values) { var mainNameValue = (values === null || values === void 0 ? void 0 : values['id,name']) || {}; // 仅当主要名称值为'1'时显示次要名称 if (mainNameValue.value === '1') { return [{ title: '次要名称', dataIndex: 'id2,name2', renderFormItem: function renderFormItem() { return /*#__PURE__*/_jsx(DisplayComponent, { num: 2 }); } }]; } return []; } }] }), /*#__PURE__*/_jsx("div", { "data-testid": "convention-nest-result" })] }); }; export default ConventionNestDemo;