React Popup - Customize the Title

By default, the Popup allocates a part of its area to the title, regardless of whether you specified the title text or did not. To hide the title, set the showTitle property to false. Besides the text, the title area also contains a button that closes the Popup. To hide this button alone, assign false to the showCloseButton property.

  • import React from 'react';
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import { Popup } from 'devextreme-react/popup';
  •  
  • class App extends React.Component {
  • constructor(props) {
  • super(props);
  •  
  • this.state = {
  • isPopupVisible: true
  • };
  •  
  • this.onHiding = this.onHiding.bind(this);
  • }
  •  
  • onHiding() {
  • this.setState({
  • isPopupVisible: false
  • });
  • }
  •  
  • render() {
  • return (
  • <Popup
  • visible={this.state.isPopupVisible}
  • showTitle={false}
  • onHiding={this.onHiding}
  • />
  • );
  • }
  • }
  •  
  • export default App;

If you need to define the title completely, specify a template for it as shown in the following code:

  • import React from 'react';
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import { Popup } from 'devextreme-react/popup';
  •  
  • const renderContent = () => {
  • return (
  • <p>Popup content</p>
  • );
  • }
  •  
  • const renderTitle = () => {
  • return (
  • <p>Title template</p>
  • );
  • }
  •  
  • class App extends React.Component {
  • constructor(props) {
  • super(props);
  •  
  • this.state = {
  • isPopupVisible: true
  • };
  •  
  • this.onHiding = this.onHiding.bind(this);
  • }
  •  
  • onHiding() {
  • this.setState({
  • isPopupVisible: false
  • });
  • }
  •  
  • render() {
  • return (
  • <Popup
  • visible={this.state.isPopupVisible}
  • contentRender={renderContent}
  • titleRender={renderTitle}
  • onHiding={this.onHiding}
  • />
  • );
  • }
  • }
  •  
  • export default App;

You can switch title templates on the fly just as you can do with content templates. Refer to the Switching Templates On the Fly topic for more information.

See Also