Как отобразить меньшее количество страниц в мобильном представлении в разбивке на страницы?

#css #reactjs #pagination #material-ui

#css #reactjs #разбивка на страницы #материал-пользовательский интерфейс

Вопрос:

Проблема

Нужно показать меньшее количество страниц в мобильном представлении, чтобы их можно было выровнять с заголовком (Мои заказы) в той же строке.

введите описание изображения здесь

Библиотека

материал-пользовательский интерфейс / разбивка на страницы

Прогресс

Возможность удалить следующий и предыдущий контент в мобильном представлении, но не удалось найти ни готовых реквизитов, ни CSS для уменьшения количества страниц в мобильном представлении

Веб-просмотр

введите описание изображения здесь

Мобильная версия

введите описание изображения здесь

Код

CSS

 @media (min-width: 501px) {
.MuiPagination-root {
.MuiPagination-ul {
    flex-wrap: nowrap;
    li {
        amp;:first-child {
            flex-basis: 100%;
            display: flex;
            justify-content: flex-start;
            align-items: center;
            > button::before {
                margin-right: 10px;
                content: "Previous  ";
            }
        }
        amp;:last-child {
            flex-basis: 100%;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            > button::after {
                margin-left: 10px;
                margin-right: 20px;
                content: "  Next";
            }
        }
    }
}
}
 

Пользовательский компонент

     import React, { useState } from "react";
    import PropTypes from "prop-types";
    import Pagination from '@material-ui/lab/Pagination';

    export const CustomPagination = ({ onChange, totalRecords, currentPage, className, shape }) => {
        return (
            <Pagination
                count={totalRecords}
                shape={shape}
                className={className}
                onChange={onChange}
                page={currentPage}
            />
        )
    };

    CustomPagination.propTypes = {
        paginationLength: PropTypes.number,
        selectPage: PropTypes.func,
        activePage: PropTypes.number,
    };
 

Комментарии:

1. Кажется, что разбивка на страницы Material UI имеет плохой набор свойств. Я думаю, что это не очень хорошее решение, но вы можете использовать useMediaQuery из Material UI и заменить разбивку на страницы на табличную разбивку, когда разрешение достигнет мобильного. Или найдите / создайте новый компонент.

2. Привет @Zain. Я борюсь с той же проблемой. Вы нашли какое-либо решение для этого?

3. Привет, @BrianH. material-ui/pagination это невозможно, если вы не используете внешний CSS, поэтому я немного изменил дизайн. Вместо того, чтобы показывать меньше чисел, я переместил разбивку на страницы на следующую строку во всю ширину, чтобы она могла поместиться. Или вы можете попробовать использовать другую библиотеку, если это возможно.