xph-form
Version:
This is a configurable form component that supports React
34 lines (33 loc) • 1.2 kB
JavaScript
const useFormAction = (instance, formatRenderValues, formatReturnValues) => {
const getFieldsValue = (...values) => {
/** 返回的时候处理值 */
return formatReturnValues(instance.getFieldsValue(...values));
};
const setFieldsValue = (values) => {
// 处理一下提供给setFieldsValue的值(因为时间类型传递给setFieldsValue需要dayjs类型)
const { renderValues, validKeys } = formatRenderValues(values);
instance.setFieldsValue(renderValues);
// 设置完之后验证一下赋值的字段
instance.validateFields(validKeys);
};
const resetFields = async () => {
return instance.resetFields();
};
const validator = async (nameList) => {
/** 返回的时候处理值 */
return instance.validateFields(nameList).then((res) => {
return formatReturnValues(res);
});
};
const scrollToField = async (name, options) => {
return instance.scrollToField(name, options);
};
return {
getFieldsValue,
setFieldsValue,
resetFields,
validator,
scrollToField,
};
};
export default useFormAction;