FormBuilder增加INTEGER类型支持
parent
752a0004f0
commit
8dba2ca34a
|
|
@ -166,6 +166,18 @@ const FormItemsRenderer = ({
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case FORM_ITEM_RENDER_ENUM.INTEGER:
|
||||||
|
option.useConstraints !== false && rules.push({ pattern: /^(\d+)$/, message: "请输入正确的整数" });
|
||||||
|
option.useConstraints !== false && rules.push({
|
||||||
|
validator: (_, value) => {
|
||||||
|
if (value && Math.abs(Number.parseFloat(value)) > 999999999) {
|
||||||
|
return Promise.reject("输入数值超出安全范围");
|
||||||
|
}
|
||||||
|
return Promise.resolve();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!useAutoGenerateRequired)
|
if (!useAutoGenerateRequired)
|
||||||
|
|
@ -177,6 +189,7 @@ const FormItemsRenderer = ({
|
||||||
FORM_ITEM_RENDER_ENUM.TEXTAREA,
|
FORM_ITEM_RENDER_ENUM.TEXTAREA,
|
||||||
FORM_ITEM_RENDER_ENUM.INPUT_NUMBER,
|
FORM_ITEM_RENDER_ENUM.INPUT_NUMBER,
|
||||||
FORM_ITEM_RENDER_ENUM.NUMBER,
|
FORM_ITEM_RENDER_ENUM.NUMBER,
|
||||||
|
FORM_ITEM_RENDER_ENUM.INTEGER,
|
||||||
].includes(option.render);
|
].includes(option.render);
|
||||||
|
|
||||||
rules.push({ required: true, message: `${isBlurTrigger ? "请输入" : "请选择"}${option.label}` });
|
rules.push({ required: true, message: `${isBlurTrigger ? "请输入" : "请选择"}${option.label}` });
|
||||||
|
|
@ -245,7 +258,7 @@ const FormItemsRenderer = ({
|
||||||
const itemsFieldKey = getItemsFieldKey(option);
|
const itemsFieldKey = getItemsFieldKey(option);
|
||||||
/** @type {string | Function} */
|
/** @type {string | Function} */
|
||||||
const render = option.render || FORM_ITEM_RENDER_ENUM.INPUT;
|
const render = option.render || FORM_ITEM_RENDER_ENUM.INPUT;
|
||||||
const placeholder = option.placeholder || `请${[FORM_ITEM_RENDER_ENUM.INPUT, FORM_ITEM_RENDER_ENUM.TEXTAREA, FORM_ITEM_RENDER_ENUM.INPUT_NUMBER, FORM_ITEM_RENDER_ENUM.NUMBER].includes(render) ? "输入" : "选择"}${option.label}`;
|
const placeholder = option.placeholder || `请${[FORM_ITEM_RENDER_ENUM.INPUT, FORM_ITEM_RENDER_ENUM.TEXTAREA, FORM_ITEM_RENDER_ENUM.INPUT_NUMBER, FORM_ITEM_RENDER_ENUM.NUMBER, FORM_ITEM_RENDER_ENUM.INTEGER].includes(render) ? "输入" : "选择"}${option.label}`;
|
||||||
|
|
||||||
switch (render) {
|
switch (render) {
|
||||||
case FORM_ITEM_RENDER_ENUM.INPUT:
|
case FORM_ITEM_RENDER_ENUM.INPUT:
|
||||||
|
|
@ -256,6 +269,7 @@ const FormItemsRenderer = ({
|
||||||
|
|
||||||
case FORM_ITEM_RENDER_ENUM.INPUT_NUMBER:
|
case FORM_ITEM_RENDER_ENUM.INPUT_NUMBER:
|
||||||
case FORM_ITEM_RENDER_ENUM.NUMBER:
|
case FORM_ITEM_RENDER_ENUM.NUMBER:
|
||||||
|
case FORM_ITEM_RENDER_ENUM.INTEGER:
|
||||||
return <InputNumber placeholder={placeholder} style={{ width: "100%" }} {...componentProps} />;
|
return <InputNumber placeholder={placeholder} style={{ width: "100%" }} {...componentProps} />;
|
||||||
|
|
||||||
case FORM_ITEM_RENDER_ENUM.SELECT:
|
case FORM_ITEM_RENDER_ENUM.SELECT:
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,8 @@ export declare const FORM_ITEM_RENDER_ENUM: {
|
||||||
INPUT_NUMBER: "inputNumber";
|
INPUT_NUMBER: "inputNumber";
|
||||||
/** 映射为 antd InputNumber */
|
/** 映射为 antd InputNumber */
|
||||||
NUMBER: "number";
|
NUMBER: "number";
|
||||||
|
/** 映射为 antd InputNumber */
|
||||||
|
INTEGER: "number";
|
||||||
/** 映射为 antd Select */
|
/** 映射为 antd Select */
|
||||||
SELECT: "select";
|
SELECT: "select";
|
||||||
/** 映射为 antd Radio.Group */
|
/** 映射为 antd Radio.Group */
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,8 @@ export const FORM_ITEM_RENDER_ENUM = {
|
||||||
INPUT_NUMBER: "inputNumber",
|
INPUT_NUMBER: "inputNumber",
|
||||||
/** 映射为 antd InputNumber */
|
/** 映射为 antd InputNumber */
|
||||||
NUMBER: "number",
|
NUMBER: "number",
|
||||||
|
/** 映射为 antd InputNumber */
|
||||||
|
INTEGER: "number",
|
||||||
/** 映射为 antd Select */
|
/** 映射为 antd Select */
|
||||||
SELECT: "select",
|
SELECT: "select",
|
||||||
/** 映射为 antd Radio.Group */
|
/** 映射为 antd Radio.Group */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue