在我的 MUI 表单中,我用来DatePicker选择用户离开和返回的日期。但是当我使用.toLocaleDateString()它时,请设置我的日期mm-dd-yyyy格式。但我想将它们设置为dd-mm-yyyy格式。为此,我已将其'en-GB'作为参数传递给.toLocaleDateString(). 但在 DatePicker 中,TextField它显示了一个红色边框,就像这样,预定义的日期(来自状态)也消失了。如果没有参数,它会显示This 这是mm-dd-yyyy格式。从类似的先前问题中,我什至通过moment包进行了尝试并将dt变量设置为moment(new Date()).format("DD/MM/YYYY"),但它仍然在文本字段周围显示红色边框。我知道这个问题之前被问过很多次,我经历了所有这些问题但没有得到解决。
日期选择器
const dt = new Date().toLocaleDateString();
console.log(dt);
const [formData, setFormData] = useState({
from: "",
to: "",
depart: dt,
return: dt,
noOfPassenger: 1,
tripType: "Return",
});
{/* App component */}
<div className="dates">
<LocalizationProvider dateAdapter={AdapterDateFns}>
<DatePicker
label="Departure Date"
disablePast
onChange={(e) =>
setFormData({
...formData,
depart: e.toLocaleDateString(),
})
}
value={formData.depart} …Run Code Online (Sandbox Code Playgroud) 在我的数据网格中,我有 9 列,您可以看到有两列名为Rate和Transfer。我还有一列,Total我想在其中显示Rate和与单元格值Transfer变化的乘法结果。请注意,我已将列设置为可编辑,以便列的值随传输值而变化。其中有一个名为的道具,在您单击单元格外部后,它会为您提供单元格值。但这并没有给你更新的值。我尝试使用和设置单元格的值并相应地更新。但这没有用。希望我已经清楚地解释了我想在这里实现的目标。TransferTransferTotalDataGridonCellFocusOut()useEffect()useState()TransferTotal
我的代码
const Transition = React.forwardRef(function Transition(props, ref) {
return <Slide direction="left" ref={ref} {...props} />;
});
function FullScreenDialog({ open, handleClose }) {
const columns = [
{
field: "Lot",
headerName: "Lot#",
width: 200,
editable: false,
},
{ field: "Bill", headerName: "Bill#", width: 130, editable: false },
{
field: "Shelf",
headerName: "Shelf",
width: 200,
editable: false,
},
{ …Run Code Online (Sandbox Code Playgroud) 我已经为我的登录页面实现了使用 google 功能登录,并且使用了 package.json @react-oauth/google。在我的应用程序中,要调度登录操作,我需要 4 件事 - 姓名、电子邮件、令牌和 googleId。
以前我使用过react-google-login包裹,在那里我得到了所有这些物品。但从当前的包文档我发现......
import { GoogleLogin } from '@react-oauth/google';
<GoogleLogin
onSuccess={credentialResponse => {
console.log(credentialResponse);
}}
onError={() => {
console.log('Login Failed');
}}
/>;
Run Code Online (Sandbox Code Playgroud)
从回复中我得到了姓名和电子邮件,但没有需要的 googleID 或令牌。下面是我的调度函数
const googleSuccess = (resp) => {
let decoded = jwt_decode(resp?.credential);
const email = decoded?.email;
const name = decoded?.name;
const token = resp?.tokenId;
const googleId = resp?.googleId;
const result = { email, name, token, googleId };
dispatch(googleLogin({ result, navigate, toast }));
console.log(result);
};
Run Code Online (Sandbox Code Playgroud)
我必须使用jwt-decode …