@jay.kou/rak-ssr
Version:
A react based UI components for admin system
105 lines (103 loc) • 3.68 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _antd = require("antd");
var _react = require("react");
var _ = require("../../..");
var _DisplayComponent = _interopRequireDefault(require("../components/DisplayComponent"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* 嵌套约定式表单示例
* 演示:
* 1. 约定式初始值
* 2. 嵌套依赖显示
* 3. 表单操作(设置值/重置/提交)
*/var ConventionNestDemo = function ConventionNestDemo() {
var formRef = (0, _react.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__*/(0, _jsxRuntime.jsxs)("div", {
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_antd.Space, {
direction: "vertical",
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.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__*/(0, _jsxRuntime.jsx)(_antd.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__*/(0, _jsxRuntime.jsx)(_antd.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__*/(0, _jsxRuntime.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__*/(0, _jsxRuntime.jsx)(_DisplayComponent.default, {});
}
},
// 依赖显示的次要名称字段
{
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__*/(0, _jsxRuntime.jsx)(_DisplayComponent.default, {
num: 2
});
}
}];
}
return [];
}
}]
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
"data-testid": "convention-nest-result"
})]
});
};
var _default = exports.default = ConventionNestDemo;