DevExtreme React - Overview
The Popup widget is a pop-up window overlaying the current view.
The following code adds a simple Popup to your page, along with a Button that invokes it. The simplest configuration of the Popup requires the content and title to be specified.
jQuery
<div id="popupContainer"> <p>Popup content</p> </div> <div id="buttonContainer"></div>
$(function() { $("#popupContainer").dxPopup({ title: "Popup Title" }); $("#buttonContainer").dxButton({ text: "Show the Popup", onClick: function () { $("#popupContainer").dxPopup("show"); } }); });
Angular
<dx-popup title="Popup Title" [(visible)]="isPopupVisible"> <div *dxTemplate="let data of 'content'"> <p>Popup content</p> </div> </dx-popup> <dx-button text="Show the Popup" (onClick)="isPopupVisible = true"> </dx-button>
import { DxPopupModule, DxButtonModule } from "devextreme-angular"; // ... export class AppComponent { isPopupVisible: boolean = false; } @NgModule({ imports: [ // ... DxPopupModule, DxButtonModule ], // ... })
Vue
<template> <div> <DxPopup title="Popup Title" :visible.sync="isPopupVisible"> <template> <p>Popup content</p> </template> </DxPopup> <DxButton text="Show the Popup" @click="onClick" /> </div> </template> <script> import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { DxPopup } from 'devextreme-vue/popup'; import { DxButton } from 'devextreme-vue/button'; export default { components: { DxPopup, DxButton }, data() { return { isPopupVisible: false }; }, methods: { onClick() { this.isPopupVisible = true; } } } </script>
React
import React from 'react'; import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { Popup } from 'devextreme-react/popup'; import { Button } from 'devextreme-react/button'; const renderContent = () => { return ( <p>Popup content</p> ); } class App extends React.Component { constructor(props) { super(props); this.state = { isPopupVisible: false }; this.onClick = this.onClick.bind(this); this.onHiding = this.onHiding.bind(this); } onClick() { this.setState({ isPopupVisible: true }); } onHiding() { this.setState({ isPopupVisible: false }); } render() { return ( <div> <Popup title="Popup Title" visible={this.state.isPopupVisible} contentRender={renderContent} onHiding={this.onHiding} /> <Button text="Show the Popup" onClick={this.onClick} /> </div> ); } } export default App;
There are several ways to specify the content of the Popup. Learn more in the Customize the Content article. The Popup can also be displayed with a toolbar. For detailed information, see the Specify Toolbar Items topic.
See Also
- Configure a Widget: Angular | Vue | React | jQuery | AngularJS | Knockout | ASP.NET MVC 5 | ASP.NET Core
- Popup - Customize the Appearance
- Popup - Show and Hide the Popup
- Popup - Resize and Relocate
- Popup API Reference
If you have technical questions, please create a support ticket in the DevExpress Support Center.