Responsive MDB DATA TABLES IN REACT
Responsive MDB DATA TABLES IN REACT
Hi,
I want to make the table rendered, to be mobile responsive. When I was building the app, I built it as a web app but I have seen it important to build it to fit  mobile screen view. Kindly assist.
import React, { useEffect } from 'react';
import { useDispatch, useSelector } from 'react-redux';
import { Row, Col, Button, Card } from 'react-bootstrap';
import { Link } from 'react-router-dom';
import { MDBDataTableV5 } from 'mdbreact';
import Loader from '../Loader';
import Message from '../Message';
import { LinkContainer } from 'react-router-bootstrap';
import { deleteMeeting, getAllMeetings } from '../actions/meetingAction';
import './cards.css';
import DataTable from 'react-data-table-component';
//import Meetingdetails from './mobilecards/Meetingdetails';
const Meetings = () => {
  const dispatch = useDispatch();
  useEffect(() => {
    dispatch(getAllMeetings());
  }, []);
  const meetingList = useSelector((state) => state.meetingList);
const { meetings, error, loading } = meetingList;
  const handleDelete = (id) => {
    if (window.confirm('Are you sure you want to delete this record?')) {
      dispatch(deleteMeeting(id));
    }
  };
  const data = {
    columns: [
      {
        label: 'Name',
        field: 'name',
        selector: rows => rows.name,
        responsive: true,
        sortable:true
  },
  {
    label: 'Venue',
    field: 'venue',
    selector: rows => rows.venue,
    responsive: true,
    sortable: true,
  },
  {
    label: 'Purpose',
    field: 'purpose',
    selector: rows => rows.purpose,
    responsive: true,
    sortable: true
  },
  {
    label: 'Date',
    field: 'date',
    selector: rows => rows.date,
    responsive: true,
    sortable: true
  },
  {
    label: 'Action',
    field: 'update',
    selector: rows => rows.update,
    responsive: true,
    sortable: true
  }
],
rows:
  meetings &&
  meetings.length &&
  meetings.map((meeting) => {
    return {
      name: meeting.name,
      venue: meeting.venue,
      purpose: meeting.purpose,
      date: new Date(meeting.date).toLocaleDateString(),
      update: (
        <>
          <LinkContainer to={`/meeting/${meeting.id}`}>
            <Button variant='success' className='btn-sm mr-2'>
              <i className='fas fa-angle-double-right'></i>
            </Button>
          </LinkContainer>{' '}
          {'  '}
          <Button
            variant='danger'
            className='btn-sm mr-2'
            onClick={() => {
              handleDelete(meeting.id);
            }}
          >
            <i className='fas fa-trash'></i>
          </Button>
        </>
      )
    };
  })
};
  return (
<div>
  <>
    <Row className='dflex justify-content-center'>
      <Col className='mt-5 col-lg-8'>
        <h3 className='text-primary text-left'>
          ALL MEETINGS
        </h3>
        <span style={{ float: 'center' }}>
          <Link to='/registermeeting'>
            <Button className='btn btn-sm'> New Meeting</Button>
          </Link>
        </span>
        <hr />
      </Col>
    </Row>
    {/* {meetings?.length > 0 &&
    meetings.map((meeting) => <Meetingdetails student={meeting}></Meetingdetails>)} */}
    {/* <Row className='dflex justify-content-center'>
    <Col className='col-lg-8 col-md-10d '> */}
      {loading ? (
        <Loader />
      ) : error ? (
        <Message variant='danger' children={error} />
      ) : (
        <MDBDataTableV5
          exportToCSV
          Pagination
          responsive
          //columns={columns}
          data={data}
        />
      )}
    {/* </Col>
  </Row>  */}
  </>
</div>
);
};
export default Meetings;
Replies
It looks like you are on the wrong forum. This is for a library called Datatables but is not the react-data-table-component you are importing. You will want to refer to their docs and use their support tools to help with your questions.
Kevin