javascript - 刷新后如何保持选中复选框?

标签 javascript material-ui

我需要向这段代码中添加什么才能使复选框在刷新页面后仍保持选中状态?代码示例或解释将不胜感激这是该项目的完整代码:https://github.com/Orelso/Project-notes

如果您需要我添加代码的任何其他部分,请告诉我

import React from "react";
import Card from '@mui/material/Card';
import CardHeader from '@mui/material/CardHeader';
import CardContent from '@mui/material/CardContent';
import { FormControlLabel, FormGroup, IconButton, Typography } from "@mui/material";
import { DeleteOutlined } from "@mui/icons-material";
import { makeStyles } from "@mui/styles";
import Checkbox from '@mui/material/Checkbox';
import { createTheme, ThemeProvider } from "@mui/material";
import { blue } from "@mui/material/colors";


const theme = createTheme ({
    palette: {
        category: {
            color: blue
        }
    }
})

const useStyles = makeStyles({
    test: {
        border: (note) => {
            if (note.category == 'HTML/CSS') {
                return '2px solid blue' 
            } else if (note.category == 'Javascript') {
                return '2px solid green'
            } else if (note.category == "Javascript/React") {
                return '2px solid yellow'
            }else if (note.category == 'MUI') {
                return '2px solid red'
            }
        }
    },
})



export default function NoteCard({ note, handleDelete }) {
    const classes = useStyles(note)

    
    return (
        <div>
            <Card elevation={10} className={classes.test}>
                <CardHeader 
                    action={ // 200
                        <IconButton onClick={() => handleDelete(note.id)}> 
                            <DeleteOutlined />
                        </IconButton>
                    }
                    title={<span style={{fontFamily: "monospace", color: "#000000"}}>{note.title}</span>}
                    subheader={<span style={{fontFamily: "Courier New", color: "#000000"}}>{note.category}</span>}                    />
                <CardContent>
                    <FormGroup>
                    <FormControlLabel sx={{color: '#000000'}} control={<Checkbox color="warning"  />} label={note.details} />
                    <FormControlLabel sx={{color: '#555555'}} control={<Checkbox  />} label={note.details2} />
                    <FormControlLabel sx={{color: '#000000'}} control={<Checkbox  />} label={note.details3} />
                    <FormControlLabel sx={{color: '#555555'}} control={<Checkbox  />} label={note.details4} />

                    </FormGroup>
                </CardContent>
            </Card>
        </div>
    )
}

最佳答案

您可以使用 redux persist 将数据保存在本地存储中,这是保存数据或从后端通过 rest API 获取数据的唯一方法

关于javascript - 刷新后如何保持选中复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73499526/

相关文章:

javascript - React Material UI 中的网格布局出现问题

javascript - 设置 Canvas 文本的字体粗细

javascript - JSLint "Unsafe character"

javascript - 随机选择javascript数组键

node.js - ReactDOM.render : Unable to find node on an unmounted component after React upgrade from 16. 4.2 到 16.5.2

html - 如何让material-ui TableRowColumn跨越多列

javascript - 是否可以在 LinkedIn 的 API 中搜索个人或公司?

javascript - 根据服务器的数据启用/禁用 Html 按钮

javascript - 无法更改 Material UI Select 组件的填充

javascript - Gatsby 与 Material-UI : Why createPageContext?