From d4d5b1359706d628ee3b850d6371185184e06ab6 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 10 九月 2024 14:54:57 +0800 Subject: [PATCH] # --- zy-acs-flow/src/page/user/UserEdit.jsx | 57 +++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 35 insertions(+), 22 deletions(-) diff --git a/zy-acs-flow/src/page/user/UserEdit.jsx b/zy-acs-flow/src/page/user/UserEdit.jsx index c42b04f..c1fe113 100644 --- a/zy-acs-flow/src/page/user/UserEdit.jsx +++ b/zy-acs-flow/src/page/user/UserEdit.jsx @@ -21,7 +21,7 @@ DeleteButton, PasswordInput, } from 'react-admin'; -import { useWatch, useFormContext } from "react-hook-form"; +import { useFormContext } from 'react-hook-form'; import { Stack, Grid, Box, Typography } from '@mui/material'; import * as Common from '@/utils/common'; import { EDIT_MODE } from '@/config/setting'; @@ -33,13 +33,45 @@ import TreeSelectInput from "../components/TreeSelectInput"; const FormToolbar = () => { - const { getValues } = useFormContext(); + const { setValue, getValues } = useFormContext(); return ( <Toolbar sx={{ justifyContent: 'space-between' }}> <SaveButton /> <DeleteButton mutationMode="optimistic" /> </Toolbar> + ) +} + +const PasswordInputContainer = () => { + const translate = useTranslate(); + const { setValue } = useFormContext(); + const record = useRecordContext(); + + useEffect(() => { + setTimeout(() => { + if (record && record.password) { + setValue('password', ''); + } + }, 200) + }, [setValue, record]); + + return ( + <> + <Typography variant="h6" gutterBottom> + {translate('common.edit.title.changePwd')} + </Typography> + <Stack direction='row' gap={2}> + <PasswordInput + label="table.field.user.password" + source="password" + /> + <PasswordInput + label="table.field.user.confirmPwd" + source="confirmPassword" + /> + </Stack> + </> ) } @@ -53,7 +85,6 @@ warnWhenUnsavedChanges toolbar={<FormToolbar />} mode="onTouched" - defaultValues={{}} validate={(values) => { const errors = {}; if (!values.username) { @@ -72,14 +103,9 @@ errors.email = error; } } - if (!values.password) { - errors.password = 'ra.validation.required'; - } if (values.password && values.password !== values.confirmPassword) { errors.confirmPassword = 'validate.pwdMisMatch'; } - console.log(values); - return errors; }} > @@ -155,20 +181,7 @@ parse={v => v} /> </Stack> - <Typography variant="h6" gutterBottom> - {translate('common.edit.title.changePwd')} - </Typography> - <Stack direction='row' gap={2}> - <PasswordInput - label="table.field.user.password" - source="password" - /> - <PasswordInput - label="table.field.user.confirmPwd" - source="confirmPassword" - value={record?.password} - /> - </Stack> + <PasswordInputContainer /> </Grid> <Grid item xs={12} md={4}> <Typography variant="h6" gutterBottom> -- Gitblit v1.9.1