DevExtreme Vue - Customize the Title

The Popover is displayed without a title by default. To add it, set the showTitle option to true and specify the title text using the title option. The title can contain a button that closes the Popover. To enable it, assign true to the showCloseButton option.

jQuery
JavaScript
HTML
$(function() {
    $("#popoverContainer").dxPopover({
        target: "#image",
        showEvent: 'dxhoverstart',
        hideEvent: 'dxhoverend',
        title: "Popover Title",
        showTitle: true,
        showCloseButton: true
    });
});
<img id="image" src="https://www.devexpress.com/DXR.axd?r=9999_17-FD0Id" />
<div id="popoverContainer">
    <!-- ... -->
</div>
Angular
HTML
TypeScript
<img id="image" src="https://www.devexpress.com/DXR.axd?r=9999_17-FD0Id" />
<dx-popover
    target="#image"
    showEvent="dxhoverstart"
    hideEvent="dxhoverend"
    title="Popover Title"
    [showTitle]="true"
    [showCloseButton]="true">
    <!-- ... -->
</dx-popover>
import { DxPopoverModule } from 'devextreme-angular';
// ...
export class AppComponent {
    // ...
}
@NgModule({
    imports: [
        // ...
        DxPopoverModule
    ],
    // ...
})
ASP.NET MVC Controls
Razor C#
@(Html.DevExtreme().Popover()
    .Target("#image")
    .ShowEvent("dxhoverstart")
    .HideEvent("dxhoverend")
    .ContentTemplate(@<text>
        <!-- ... -->
    </text>)
    .Title("Popover Title")
    .ShowTitle(true)
    .ShowCloseButton(true)
)
<img id="image" src="https://www.devexpress.com/DXR.axd?r=9999_17-FD0Id" />

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

jQuery
HTML
JavaScript
<img id="image" src="https://www.devexpress.com/DXR.axd?r=9999_17-FD0Id" />
<div id="popoverContainer">
    <p>Popover content</p>
    <div data-options="dxTemplate: { name: 'titleTemplate' }">
        <p>Title template</p>
    </div>
</div>
$(function() {
    $("#popoverContainer").dxPopover({
        target: "#image",
        showEvent: "dxhoverstart",
        hideEvent: "dxhoverend",
        showTitle: true,
        titleTemplate: "titleTemplate"
    });
});
Angular
HTML
TypeScript
<img id="image" src="https://www.devexpress.com/DXR.axd?r=9999_17-FD0Id" />
<dx-popover
    target="#image"
    showEvent="dxhoverstart"
    hideEvent="dxhoverend"
    [showTitle]="true"
    titleTemplate="titleTemplate">
    <div *dxTemplate="let data of 'content'">
        <p>Popover content</p>
    </div>
    <div *dxTemplate="let data of 'titleTemplate'">
        <p>Title template</p>
    </div>
</dx-popover>
import { DxPopoverModule } from 'devextreme-angular';
// ...
export class AppComponent {
    // ...
}
@NgModule({
    imports: [
        // ...
        DxPopoverModule
    ],
    // ...
})
ASP.NET MVC Controls
Razor C#
@(Html.DevExtreme().Popover()
    .Target("#image")
    .ShowEvent("dxhoverstart")
    .HideEvent("dxhoverend")
    .ContentTemplate(@<text>
        <!-- ... -->
    </text>)
    .ShowTitle(true)
    .TitleTemplate(@<text>
        <p>Title template</p>
    </text>)
)
<img id="image" src="https://www.devexpress.com/DXR.axd?r=9999_17-FD0Id" />

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