React LoadPanel - Customize the Loading Indicator
If you need to use a 3rd-party loading indicator inside the LoadPanel, assign its URL to the indicatorSrc property.
- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import { LoadPanel } from 'devextreme-react/load-panel';
- import { Button } from 'devextreme-react/button';
- const indicatorUrl = "https://js.devexpress.com/Content/data/loadingIcons/rolling.svg";
- class App extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- isLoadPanelVisible: false
- };
- this.handleClick = this.handleClick.bind(this);
- this.handleHide = this.handleHide.bind(this);
- }
- handleClick() {
- this.setState({
- isLoadPanelVisible: true
- });
- }
- handleHide() {
- this.setState({
- isLoadPanelVisible: false
- });
- }
- render() {
- return (
- <div>
- <LoadPanel
- hideOnOutsideClick={true}
- indicatorSrc={indicatorUrl}
- visible={this.state.isLoadPanelVisible}
- onHidden={this.handleHide}
- />
- <Button
- text="Show the Load Panel"
- onClick={this.handleClick}
- />
- </div>
- );
- }
- }
- export default App;
In case you do not need any loading indicator to be shown at all, assign false to the showIndicator property.
- import React from 'react';
- import 'devextreme/dist/css/dx.light.css';
- import { LoadPanel } from 'devextreme-react/load-panel';
- import { Button } from 'devextreme-react/button';
- class App extends React.Component {
- constructor(props) {
- super(props);
- this.state = {
- isLoadPanelVisible: false
- };
- this.handleClick = this.handleClick.bind(this);
- this.handleHide = this.handleHide.bind(this);
- }
- handleClick() {
- this.setState({
- isLoadPanelVisible: true
- });
- }
- handleHide() {
- this.setState({
- isLoadPanelVisible: false
- });
- }
- render() {
- return (
- <div>
- <LoadPanel
- hideOnOutsideClick={true}
- showIndicator={false}
- visible={this.state.isLoadPanelVisible}
- onHidden={this.handleHide}
- />
- <Button
- text="Show the Load Panel"
- onClick={this.handleClick}
- />
- </div>
- );
- }
- }
- export default App;
See Also
Feel free to share topic-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.