亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

材質UI 表行未折疊

材質UI 表行未折疊

元芳怎么了 2022-08-18 16:25:39
我有一個語義UI表,我試圖用API填充,我不知道為什么它沒有填充我嘗試使行成為變量而不是狀態,我還查看了材料UI表文檔,但我不確定為什么行沒有呈現API 工作正常并返回正確的數據列const columns = [  { id: 'id', label: 'Case ID', minWidth: 170 },  {     id: 'specialization',     label: 'Case Type',      minWidth: 100,       format: (value) => value.toLocaleString('en-US'),  },  {    id: 'case_name',    label: 'Diagnoses',    minWidth: 170,    align: 'right',    format: (value) => value.toLocaleString('en-US'),  },  {    id: 'case_description',    label: 'Doctor comments',    minWidth: 170,    align: 'right',    format: (value) => value.toLocaleString('en-US'),  },];從 API 填充行function getPatientHistory(id){  const rows = []  if(! id) return rows  console.log(id, "IN!!")  fetch(`/api/list-patient-cases/${id}/`)  .then(res => res.json())  .then(data => {    data.forEach( Case => {      let {id, specialization, case_name, case_description} = Case;      case_description = case_description || 'Wating';      rows.push( {id, specialization, case_name, case_description})    })  })  console.log(rows)  return rows}
查看完整描述

1 回答

?
慕婉清6462132

TA貢獻1804條經驗 獲得超2個贊

請檢查此工作示例:


import TablePagination from "@material-ui/core/TablePagination";

import TableCell from "@material-ui/core/TableCell";

import TableRow from "@material-ui/core/TableRow";

import TableBody from "@material-ui/core/TableBody";

import Paper from "@material-ui/core/Paper";

import TableContainer from "@material-ui/core/TableContainer";

import Table from "@material-ui/core/Table";

import TableHead from "@material-ui/core/TableHead";

import React, {useState} from "react";


export default function Patient() {

    // const classes = useStyles();

    // const [user, setUser] = useContext(AuthContext);

    const [state, setState] = useState({id: null, rows: []});

    const [page, setPage] = useState(0);

    const [rows, setRows] = useState([]);

    const [rowsPerPage, setRowsPerPage] = useState(10);

    const data = [

        {id: 1, code: 1, specialization: 'ABC', case_name: 'X-Ray', case_description: 'This is detail'},

        {id: 2, code: 2, specialization: 'XYZ', case_name: 'MRI', case_description: 'This is detail'},

        {id: 3, code: 3, specialization: 'PQR', case_name: 'Urine', case_description: 'This is detail'}

        ];

    const columns = [

        {id: 'id', label: 'Case ID', minWidth: 170},

        {

            id: 'specialization',

            label: 'Case Type',

            minWidth: 100,

            format: (value) => value.toLocaleString('en-US'),

        },

        {

            id: 'case_name',

            label: 'Diagnoses',

            minWidth: 170,

            align: 'right',

            format: (value) => value.toLocaleString('en-US'),

        },

        {

            id: 'case_description',

            label: 'Doctor comments',

            minWidth: 170,

            align: 'right',

            format: (value) => value.toLocaleString('en-US'),

        },

    ];


    const handleChangePage = (event, newPage) => {

        setPage(newPage);

    };


    const handleChangeRowsPerPage = (event) => {

        setRowsPerPage(+event.target.value);

        setPage(0);

    };


    function getPatientHistory(id) {

        return data;

    }


    React.useEffect(() => {


        // if (!user || !user.email) {

        const id = localStorage.getItem('id') || null;

        setState({id: id, rows: getPatientHistory(id)})

        // }

    }, []);


    return (

        <Paper>

            <TableContainer>

                <Table stickyHeader aria-label="sticky table">

                    <TableHead>

                        <TableRow>

                            {columns.map((column, i) => (

                                <TableCell

                                    key={i}

                                    align={column.align}

                                    style={{minWidth: column.minWidth}}

                                >

                                    {column.label}

                                </TableCell>

                            ))}

                        </TableRow>

                    </TableHead>

                    <TableBody>

                        {state.rows.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage).map((row) => {

                            return (

                                <TableRow hover role="checkbox" tabIndex={-1} key={row.code}>

                                    {columns.map((column) => {

                                        const value = row[column.id];

                                        return (

                                            <TableCell key={column.id} align={column.align}>

                                                {column.format && typeof value === 'number' ? column.format(value) : value}

                                            </TableCell>

                                        );

                                    })}

                                </TableRow>

                            );

                        })}

                    </TableBody>

                </Table>

            </TableContainer>

            <TablePagination

                rowsPerPageOptions={[10, 25, 100]}

                component="div"

                count={state.rows.length}

                rowsPerPage={rowsPerPage}

                page={page}

                onChangePage={handleChangePage}

                onChangeRowsPerPage={handleChangeRowsPerPage}

            />

        </Paper>

    )

}


查看完整回答
反對 回復 2022-08-18
  • 1 回答
  • 0 關注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號