2020-06-23 21:55:25 -04:00
---
page_type: sample
products:
- office-sp
languages:
- javascript
- typescript
extensions:
contentType: samples
technologies:
- SharePoint Framework
platforms:
- React
createdDate: 1/8/2018 12:00:00 AM
---
2020-11-08 22:39:06 -05:00
# Using React Accordion plugin with SPFx
2018-09-10 06:06:51 -04:00
## Summary
This is a sample web Part that illustrates the use of React Accessible Accordion plugin for building SharePoint Framework client-side web parts to show SharePoint list data in Accordion format.
2020-10-01 21:32:24 -04:00
![Sample Web Part built using SPFx with React Framework showing list data in accordion format ](./assets/AccordionPreview.png )
2018-09-10 06:06:51 -04:00
## Used SharePoint Framework Version
2020-06-23 21:55:25 -04:00
![1.10.0 ](https://img.shields.io/badge/drop-1.10.0-green.svg )
2018-09-10 06:06:51 -04:00
## Applies to
2020-06-09 03:09:22 -04:00
* [SharePoint Framework Developer Preview ](https://docs.microsoft.com/sharepoint/dev/spfx/sharepoint-framework-overview )
* [Office 365 developer tenant ](https://docs.microsoft.com/sharepoint/dev/spfx/set-up-your-developer-tenant )
2018-09-10 06:06:51 -04:00
## Solution
Solution|Author(s)
--------|---------
react-accordion | Gautam Sheth (SharePoint Consultant, RapidCircle)
2020-06-23 21:55:25 -04:00
react-accordion | Abhishek Garg
2018-09-10 06:06:51 -04:00
## Version history
Version|Date|Comments
-------|----|--------
1.0|August 17, 2018|Initial release
2020-01-19 18:22:55 -05:00
2.0|January 19, 2020|Upgrade to SPFx 1.10
2020-06-23 21:55:25 -04:00
2.1|June 22, 2020|Added pagination (Abhishek Garg)
2020-10-01 21:32:24 -04:00
2.2|October 1, 2020 | Added new Pagination Configuration (@beau__cameron)
2021-09-30 09:01:42 -04:00
2.3|September 30, 2021 | Added sorting (@fthorild)
2021-02-11 01:14:08 -05:00
2018-09-10 06:06:51 -04:00
## Disclaimer
**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**
---
## Minimal Path to Awesome
2020-01-19 18:22:55 -05:00
### Build and Test
1. Clone this repo
2. In the command line run
- `npm i`
- `gulp build`
- `gulp serve --nobrowser`
3. Create a custom list (e.g. FAQ) with Title and Description(internal name) of type Enhanced rich text on your SharePoint site.
4. Populate the list with some items
5. Navigate to the hosted version of SharePoint workbench, eg. **https://\<tenant>.sharepoint.com/sites/\<your site>/_layouts/15/workbench.aspx**
6. Add the Web Part to the canvas and configure it.
### Package and deploy
1. In the command line run
- `gulp bundle --ship`
- `gulp package-solution --ship`
2. Install into your SharePoint app catalog and add it to a SharePoint site.
3. Navigate to your site, eg. **https://\<tenant>.sharepoint.com/sites/\<your site>**
4. Create a custom list with Title and Description(internal name) of type Enhanced rich text.
5. Populate the list with some items
6. Navigate to a page on your site where the custom list is created
7. Add the Web Part to the page and configure it.
2018-09-10 06:06:51 -04:00
## Features
This project contains sample client-side web part built on the SharePoint Framework illustrating how to show list data in Accordion format using React framework.
This sample illustrates the following concepts on top of the SharePoint Framework:
2020-01-19 18:22:55 -05:00
### General
- performing SharePoint GET operation in React using inbuilt SP Http Client
2020-04-04 02:18:47 -04:00
- Using Fabric UI button component for pagination
- optimizing REST responses for performance using `nometadata` option of JSON light
2020-06-23 21:55:25 -04:00
- using PnP web part title control of @pnp/spfx -controls-react library
2020-01-19 18:22:55 -05:00
- showing SharePoint list data in Accordion format using React Accessible Accordion plugin
- searching in the fetched data by making use of Search Box from Office Fabric UI
2018-09-10 06:06:51 -04:00
< img src = "https://telemetry.sharepointpnp.com/sp-dev-fx-webparts/samples/react-accordion" / >