You are here:
Visualforce Components
Visualforce components are small, reusable pieces of functionality—think widgets, panels, user interface elements, that kind of thing—that you use in Visualforce page markup. You can use standard Visualforce components, and create your own custom components.
Required Editions
| Available in: Salesforce Classic and Lightning Experience |
| Available in: Contact Manager, Group, Professional, Enterprise, Performance, Unlimited, and Developer Editions |
Salesforce provides a library of standard, pre-built components, such as <apex:relatedList> and <apex:dataTable>, that can be used to develop
Visualforce pages. In addition, you can build your own custom components to augment this
library.
A custom component encapsulates a common design pattern that can be reused in one or more Visualforce pages. It consists of:
- A set of Visualforce markup demarcated by the
<apex:component>tag - An optional component controller written in Apex that allows the component to perform additional logic, such as sorting items in a list, or calculating values
For example, suppose you want to create a photo album using Visualforce pages. Each photo
in the album has its own border color, and a text caption that displays beneath it.
Rather than repeating the Visualforce markup required for displaying every photo in the
album, you can define a custom component named singlePhoto that has attributes for image, border color, and caption, and
then uses those attributes to display the image on the page. Once defined, every
Visualforce page in your organization can leverage the singlePhoto custom component in the same way as a page can leverage
standard components such as <apex:dataTable>
or <apex:relatedList>.
Unlike page templates, which also enable developers to reuse markup, custom components provide more power and flexibility because:
- Custom components allow developers to define attributes that can be passed in to each component. The value of an attribute can then change the way the markup is displayed on the final page, and the controller-based logic that executes for that instance of the component. This behavior differs from that of templates, which do not have a way of passing information from the page that uses a template to the template's definition itself.
- Custom component descriptions are displayed in the application's component reference dialog alongside standard component descriptions. Template descriptions, on the other hand, can only be referenced through the Setup area of Salesforce because they are defined as pages.
- Defining Visualforce Custom Components
Visualforce components are small, reusable pieces of functionality—think widgets, panels, user interface elements, that kind of thing—that you use in Visualforce page markup. You can use standard Visualforce components, and create your own custom components. - View and Edit Visualforce Custom Components
A custom component encapsulates a common design pattern that can be reused in one or more Visualforce pages. - Manage Visualforce Custom Components
After creating custom components, you can view, edit and delete them. - Visualforce Component Limits
Limits for Visualforce components and pages.

