Ionic 5 UI Components Properties

This section provides an overview of the Ionic 5 UI components and their properties available in the visual App Builder PALETTE

Introduction

When you build an app in Appery.io, you create pages (called Screens) that contain predefined UI components such as buttons, inputs, checkboxes, lists, etc. All of the available core UI components can be accessed from the PALETTE panel:

Each component, as well as the page itself, contains properties that can be changed:

Properties of the **Button** componentProperties of the **Button** component

Properties of the Button component

PROPERTIES Overview

Every component has a set of properties some of which are common, others are specific to particular components. All properties that are available for a particular component can be accessed from the PROPERTIES view on the right of the working area.

πŸ‘

Try our Ionic 5 Custom UI Components App Template

We highly recommend that you check out our ready-to-go Ionic 5 Custom UI Components App Template where you can find all Ionic 5 UI components currently presented by Appery.io.
With this template, you will be able to review them in detail and try customizing any UI component according to your needs.

And even more: you can now enjoy the one-click-away option of installing the template app: simply click the button below and in a moment, your app is ready to start! There’s no need to go to the Create new app dialog or download the template backup with further installing it!

Create in Appery.io

Here is the description of the properties that can be defined for PALETTE components.
To check for the properties of a particular UI component, please see the documentation for the corresponding component; for example, the details of the Chart component can be found here.

πŸ“˜

Most properties are provided with their corresponding ? tooltips: by hovering over them, you can get information on the property and how to use it.

General Components Properties

Every Appery.io UI component has its own properties: some are common, others are specific to a particular component.
General properties belonging to most components available in the Visual App Builder include:

Property Name

Property Description

Component Name

The mandatory property used for identifying the component. When you drag and drop the component from the components PALETTE the Appery.io Visual Builder gives it a standard name (e.g. GoogleMap1, Image1 , etc.). It’s beneficial to rename the components so that you could easily identify them.
This property exists inside the visual editor only and does not have any reflection in an application.

Component Type

Use this property to change the button role for interaction with Menu (Ionic Menu Button) or Routing (Ionic Back Button):
Ionic Button
Ionic Menu Button
Ionic Back Button.
Navigation with Routing has higher priority than Href.

Class

Classes can be listed here.
Check this link for Ionic CSS utility classes.

Visible

Set to True to determine that the component is visible on the page.
For more details, read here.

Disabled

Every component on the page is enabled by default. You may need to disable components.
If set to true, the user cannot interact with the component.
For more details, read here.

Color

Color to use from your application's color palette.
Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.

Slot

Position inside another component. It can be set to Fixed.
Some components can have different settings: Start or End.

Mode

Determines which platform styles to use. Possible values are iOS or MD.

Attribute name

A new attribute value.

Additionally, some UI components available in the Visual App Builder feature further subdivision into common properties and properties related to the component's styling.
Common properties are grouped under the component's PROPERTIES Common tab while the properties used to define styling can be found under the Styles tab:

πŸ‘

You can select and manage components

  1. Using Breadcrumbs
    or
  2. Selecting them on the OUTLINE view menu:

Button

Buttons provide clickable elements used in forms or anywhere where simple, standard button functionality is required.
Being the most popular component, the Button component can be used to navigate to a page or link, copy a property to a local storage variable or set the other component’s property, open and close popups, invoke a service, or run JavaScript. It may display text, icons, or both.

Ionic Button

If the button's type is set to Ionic Button (default) under the PROPERTIES panel (Common tab), the component will feature the following properties:

Common Properties

Property Name

Property Description

Text

Button text.

Button Type

Click to select between Button (default) or Bar Button.

Icon

Makes a button look like an icon. This property converts the button to an icon by changing its Style property and ignoring the Text property.
Style - click No icon to change the icon style by selecting a needed icon.
Name allows changing Ionic 5 icon style dynamically by property binding to [name].
Color - the color to use from your application's color palette. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Slot - position inside the button: Icon only, Start, End.
Custom SVG Icon - used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.

Routing

Route Name - defines the list of routes names from the Routing panel.
Route Params - the field used to add values for Route Params described in the Routing panel.
Router Direction - when using a router, it specifies the transition direction (back, forward or root) when navigating to another page using href.

Link Features

Options for the component to be used as a link:
Href - contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
Type of the Button: Submit, Reset, Button.
Target - specifies where to display the linked URL. Only applies when an Href is provided: Blank, Self, Parent, or Top
Rel - specifies the relationship of the target object to the link object.

(click)

Action to be triggered on button click.

Styles Properties

Under the Styles tab, buttons can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Button Color

Select button color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Expand

Set to Block for a full-width button or to Full for a full-width button without left and right borders.

Fill

Set to Solid or select Clear for a transparent button, or Outline for a transparent button with a border.

Shape

Setting to Round makes the button rounded.

Size

Select the preferred button size: Small, Defaultor Large.

Strong

If set to True, activates a button with a heavier font weight.

Text Color

Select button text color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select border color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The property Download has been removed from under the Link Features additional menu.
Also, the Mode property has been removed from the Icon section.

Ionic Menu Button

Menu Button is a component that automatically creates the icon and functionality to open a menu on a page.
If you define the button Component Type property as Ionic Menu Button, the component will have the additional Menu Button properties under its Common tab:

Auto Hide - automatically hides the menu button when the corresponding menu is not active (set to true).
Custom SVG Icon - used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.
Menu - an optional property that maps to a Menu's menuId property. It can also be start or end for the menu side. It is used to find the correct menu to toggle.
Type - type of the menu button (Submit, Reset, or Button):

If you switch to the Styles tab, you will get access to modifying the component's Class, Margin, Mode, and Button Color properties similar to how it's done for the default Ionic Button:

Ionic Back Button

With the button Component Type property set to as Ionic Back Button, the component will have the additional Back Button properties under its Common tab:

Icon - icon name to use for the back button. Click the Default icon button to select an icon, or leave it to default.
Custom SVG Icon - used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.
Text - text to display in the back button.
Type - the type of the back button (Submit, Reset, or Button).
Default Href - the URL to navigate back to by default when there is no history:

If you switch to the Styles tab, you will get access to modifying the component's Class, Margin, Mode, and Button Color properties similar to how it's done for the default Ionic Button:

You can also check the Ionic documentation to read more about Button.

Card

The Card component consists of Card Items, containers that can hold any other UI component. The number of Card Items can be changed by adding or cloning them.

Properties

The Card component has the following properties:

Common Properties

Property Name

Property Description

Button

If set to True, a button tag will be rendered and the card will become tappable.

Routing

Route Name -defines the list of routes names from the Routing panel.
Route Params field is to add values for Route Params described in the Routing panel.
Router Direction - when using a router, it specifies the transition direction when navigating to another page using Href.
Navigation with Routing has higher priority than Href.

Link Features
(options for the component used as a link)

Download- instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name.
Href - contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
Rel - specifies the relationship of the target object to the link object.
Target - specifies where to display the linked URL. Only applies when an Href is provided: Blank, Self, Parent, or Top.
Type of the Button: Submit, Reset, Button.

Styles Properties

Under the Styles tab, cards can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Card Color

Select the color of the card from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Text Color

Select the card text color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Margin

Set the card margin area in px, %, em, vh, and vw:
All sides, Top, Right, Bottom, Left.

Padding

Set the card padding area in px, %, em, vh, and vw:
All sides, Top, Right, Bottom, Left.

Border Style

Set the line style of card's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of card's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select CSS border color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of card's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Display

Set the card display behavior (the type of rendering box) by using the group of predefined buttons:
?vertical distribute block - element starts on a new line and takes up the whole width
?horizontal distribute inline-block - element itself is formatted as an inline element but width and height values can be applied
?short text inline - no height and width properties will have effect

Text Align

Sets the horizontal alignment of the card text.
align left - aligns the text to the left
center - centers the text
align right - aligns the text to the right
justify - stretches the lines so that each line has equal width

Vertical Align

Sets the card vertical alignment (inline or inline-block). The available values are: Baseline, Middle, Sub, Super, Top, Bottom, Text-top, Text-bottom.

Height

Sets card's height in px, %, em, vh, and vw.

Width

Sets card's width in px, %, em, vh, and vw.

Position

The position Type available values are: Static, Relative, Fixed, Absolute, and Sticky*.
Set the card position in px, %, em, vh, and vw:
Top, Right, Bottom, Left**.

Opacity

Set the card opacity. Opacity is the degree to which content behind an element is hidden.
Opacity value must be in range from 0 to 1.
Opacity value must be nonnegative.
Opacity value length can't be more than 10.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The property Download has been removed from under the Link Features additional menu.

Card ltem

To add a Card Item, click the + button on the Card.
The Card Item component has the following properties:

Property Name

Property Description

Text

Card item text.
Visible if the card item has no child elements.

Type

Click to select card content type: Card content or Card header.

If you define the card's Type property as Card Header, the component will have the additional properties:

Common Properties

Property Name

Property Description

Translucent

If set to true, the card header will be translucent. For iOS mode only.

Styles Properties

Under the Styles tab, card headers can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Card Item Color

Set the CSS color of the card item selecting from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or using the Color-picker.

Text Color

Set the CSS color of the card header text selecting from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or using the Color-picker.

Card ltem Title

To add a Card Item Title, click the + button on the Card Item or use the Text component from the PALETTE.
The Card Item Title component has the following properties:

Common Properties

Property Name

Property Description

Type

Click to select the card title type: Card Title or Card Subtitle.

Title Text

Content title text. Visible if Title has no child elements.

Styles Properties

Under the Styles tab, card headers can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Card Title Color

Set the CSS color of the card title selecting from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or using the Color-picker.

Please visit Ionic documentation to read more about Card.

Chart

The Chart component offers a variety of chart types and visualization styles that come with extensive configuration options. This flexibility allows for creating the needed chart quickly and easily. The following built-in chart types are available in Appery.io Visual App Builder:
Bar
Bubble
Doughnut
Line
Pie
Polar Area
Radar
Scatter
Mixed

Please check below for different chart types organized in one project:

πŸ‘

More details about how to work with the Chart component and its properties can be found in this document.

Common Chart Component Properties

The Chart component has the following properties that apply to all chart types:

Property Name

Property Description

Auto init Chart

If set to true, the Chart component is automatically initiated.

Class

Adds CSS classes for chart wrapper (class will not modify the chart canvas).

Labels

The array of labels to display. To specify it, switch to the CODE tab, add a variable, ex. label of Any type and provide the value(s) to be displayed in the chart: For example: ['Label 1', 'Label 2', 'Label 3', 'Label 4', 'Label 5'] (for simple labels) or [ ['Label 1', 'value: 3'], 'Label 2', 'Label 3', 'Label 4', ['Label 5', 'Value: 5'] ] (for multilabels). Now, the Labels property can be defined with the label value.

Type

Select the type of chart to be created:
line (default), bar, horizontal bar, radar, pie, doughnut, polarArea, bubble, scatter,mixed.

Responsive

Resizes the chart canvas when its container does.

Responsive Animation Duration

Duration in milliseconds it takes to animate to new size after a resize event.

Maintain Aspect Ratio

Maintain the original canvas aspect ratio (width / height) when resizing.

Aspect Ratio

Canvas aspect ratio (i.e. width / height, a value of 1 representing a square canvas). Note that this option is ignored if the height is explicitly defined either as attribute or via the style.

Show Advanced Properties

If set to true, the advanced chart properties can be accessed:

  • All - all the advanced properties are available.
  • Animation - animates charts out of the box. A number of options are provided to configure how the animation looks and how long it takes:
    duration - the number of milliseconds the animation takes
    easing - the easing function to be used.
    Possible values are linear,easInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeInOutCubic, easeInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint, easeInSine, easeOutSine, easeInOutSine, easeInExpo, easeOutExpo, easeInOutExpo, easeInCirc, easeOutCirc, easeInOutCirc, easeInElastic, easeOutElastic, easeInOutElastic, easeInBack, easeOutBack, easeInOutBack, easeInBounce, easeOutBounce, easeInOutBounce.
  • Legend - displays data about the datasets on the chart:
    Align - alignment of the legend (start, center (default for unrecognized values), or end)
    Display - set to true to display the legend
    Labels Box Width - the width of the colored box
    Labels Font Color - the text color.
    Labels Font Size - the text font size
    Labels Font Style - the text font style
    Labels Use Point Style - the label style will match corresponding point style (size is based on the mimimum value between Box Width and Font Size)
    Position - the legend position (top, left, bottom, right)
    Reverse - the legend will show datasets in reverse order
    Rtl - set to true to render the legends from right to left.
  • Title - defines text to draw at the top of the chart:
    Display - set to true to display the title
    Font Color - the font color.
    Font Size - the font size
    Font Style - the font style
    Line Height - the height of an individual line of text
    Padding - the number of pixels to add above and below the title text
    Position - the title position (top, left, bottom, right)
    Text - the title text to display. If specified as an array, text is rendered on multiple lines.
  • Tooltips:
    Background Color - the tooltip background color.
    Body Align - the horizontal alignment of the body text lines. The titleAlign, bodyAlign and footerAlign options define the horizontal position of the text lines with respect to the tooltip box. The following values are supported: left (default), right, center. These options are only applied to text lines. Color boxes are always aligned to the left edge.
    Body Font Color
    Body Font Size
    Body Font Style
    Body Spacing - the spacing to add to top and bottom of each tooltip item
    Border Color
    Border Width - the border size
    Caret Padding - extra distance to move the end of the tooltip arrow away from the tooltip point
    Caret Size - size, in px, of the tooltip arrow
    Corner Radius - the radius of the tooltip corner curves
    Display - if set to true (default), the tooltips are enabled on canvas
    Display Colors - if set to true, color boxes are shown in the tooltip
    Intersect - if set to true, the tooltip mode applies only when the mouse position intersects with an element. If set to false, the mode will be applied at all times
    Mode - sets which elements appear in the tooltip. When configuring interaction with the graph via hover or tooltips, a number of different
    modes are available. The modes and how they behave in conjunction with the intersect setting are detailed below:
    point finds all of the items that intersect the point.
    nearest gets the items that are at the nearest distance to the point. The nearest item is determined based on the distance to the center of the chart item (point, bar). You can use the axis setting to define which directions are used in distance calculation. If intersect is set to true, it is only triggered when the mouse position intersects an item in the graph. This is very useful for combo charts where points are hidden behind bars.
    index finds item at the same index. If the intersect setting is true, the first intersecting item is used to determine the index in the data. If intersect is set to false the nearest item in the X direction is used to determine the index. To use index mode in a chart like the horizontal bar chart, where we search along the Y direction, you can use the axis setting introduced in v2.7.0. Setting this value to y on the Y direction is used.
    dataset finds items in the same dataset. If the intersect setting is true, the first intersecting item is used to determine the index in the data. If intersect is set to false, the nearest item is used to determine the index.
    X returns all items that would intersect based on the X coordinate of the position only. It would be useful for a vertical cursor implementation. Note that this only applies to cartesian charts.
    y returns all items that would intersect based on the Y coordinate of the position. This would be useful for a horizontal cursor implementation. Note that this only applies to cartesian charts.
    MultiKey Background - the color to draw behind the colored boxes when multiple items are in the tooltip
    Position - the mode for positioning the tooltip. Possible modes are:
    average will place the tooltip at the average position of the items displayed in the tooltip. nearest will place the tooltip at the position of the element closest to the event position. New modes can be defined by adding functions to the Chart.Tooltip.positioners map.
    Rtl - select true for rendering the legends from right to left.
    Title Align - the horizontal alignment of the title text lines. The titleAlign, bodyAlign and footerAlign options define the horizontal position of the text lines with respect to the tooltip box. The following values are supported: left (default), right, center. These options are only applied to text lines. Color boxes are always aligned to the left edge.
    Title Font Color
    Title Font Size
    Title Font Style
    Title Margin Bottom - the margin to add on the bottom of the title section
    Title Spacing - the spacing to add to top and bottom of each title line
    X Padding - the padding to add on left and right of tooltip
    Y Padding - the padding to add on top and bottom of the tooltip.
  • Elements - while chart types provide settings to configure the styling of each dataset, you sometimes want to style all datasets the same way. A common example would be to stroke all of the bars in a bar chart with the same color but change the fill per dataset. Options can be configured for four different types of elements: line, arc, point, and rectangles. When set, these options apply to all objects of that type unless specifically overridden by the configuration attached to a dataset.

πŸ“˜

The Radar and Polar Area charts also allow defining the following advanced properties:

  • Ticks
  • Grid Lines
  • Point Labels
  • Angle Lines

🚧

All Elements properties are global properties for the selected Chart type.

You can also check the links below to learn more about charts:
Chart documentation: https://www.chartjs.org/
Chart samples: https://www.chartjs.org/samples/latest/.

πŸ“˜

More information about the easing function can be found here:
http://robertpenner.com/easing/;
https://matthewlein.com/tools/ceaser;
https://easings.net/en;
http://sol.gfxile.net/interpolation/.

The Chart component comes with a nested Chart Data component and the X/Y Axes Options components that can be added on clicking the corresponding gear icon within the selected chart.

Chart Data

The Chart Data component properties that are offered for setting heavily depend on what chart type is being defined.

There are also some Chart Data properties that apply to all chart types:

Property Name

Property Description

Data

The list of data value(s).

Legend Label

The label for the dataset which appears in the legend and tooltips.
Not available for Polar Area, Pie and Doughnut chart types.

Order

The drawing order of dataset. Also affects order for stacking, tooltip, and legend.
Not available for Polar Area, Pie and Doughnut chart types.

Axis ID

X Axis ID - the ID of the X-axis to plot this dataset on.
Y Axis ID - the ID of the Y-axis to plot this dataset on.
Not available for Polar Area, Radar, Pie, Doughnut, and Bubble chart types.

Additionally, the following chart styling properties are groped under the Style section:

Property Name

Property Description

Fill

Select to choose how area under the line must be filled: start, origin (default), end, don't fill.

Background Color

The line fill color in the format rgba(0, 0, 0, 0.1).

Cubic Interpolation Mode

The "default" algorithm uses a custom weighted cubic interpolation, which produces pleasant curves for all types of datasets. Two modes are available: default or monotone.

Line Tension

Bezier curve tension of the line. Set to 0 to draw straight lines. This option is ignored if monotone cubic interpolation is used.

Stepped Line

If the Stepped Line value is set to anything other than false, Line Tension will be ignored:
before, after, middle, default.

Span Gaps

If set to False (default), NaN data causes a break in the line.

Show Line

If set to False, the line is not drawn for this dataset.

Border

Color - the line color in the format rgba(0, 0, 0, 0.1).
Dash - length and spacing of dashes (not available for Bubble).
Width - the line width (in pixels).

Point

Background Color - the fill color for points in the format rgba(0, 0, 0, 0.1).
Border Color - the border color for points in the format rgba(0, 0, 0, 0.1).
Border Width - the width of the point border in pixels.
Hit Radius - the pixel size of the non-displayed point that reacts to mouse events.
Hover Background Color - point background color when hovered.
Hover Border Color - point border color when hovered.
Hover Border Width - border width of point when hovered.
Hover Radius - the radius of the point when hovered.
Radius - the radius of the point shape. If set to 0, the point is not rendered.
Rotation - the rotation of the point in degrees.
Style - style of the point: circle, cross, crossRot, dash, line, *rect, rectRounded, rectRot, *star, triangle.

Chart Axes Options

Axes are an integral part of a chart. They are used to determine how data maps to a pixel value on the chart. In a cartesian chart, there is one or more X-axis and one or more Y-axis to map points onto the 2-dimensional canvas. These axes are know ascartesian axes.
In a radial chart, such as a radar chart or a polar area chart, there is a single axis that maps points in the angular and radial directions. These are known as radial axes.

🚧

The scales in Chart.js > v2.0 are significantly more powerful, but also different than those of v1.0.
Multiple X- & Y-axes are supported. A built-in label auto-skip feature detects would be overlapping ticks and labels and removes every nth label to keep things displaying normally.
Scale titles are supported. New scale types can be extended without writing an entirely new chart type.

Click the corresponding gear icon (X or Y) within the selected chart to add a new Axes Options element:

Then, select it to get access to its properties.

Properties

X/Y Axes Options have the following properties:

Property Name

Property Description

Scales

Display - controls the axis global visibility if set to true.
Id - is used to link datasets and scale axes together. The properties dataset.xAxisID or dataset.yAxisID have to match the scale properties scales.xAxes.id/scales.yAxes.id. This is especially needed if multi-axes charts are used.
Labels - the labels list: ['Label 1','Label 2','Label 3','Label 4','Label 5']or ['Label 5','Label 1','Label 2','Label 3','Label 1'].
Position - the position of the axis in the chart. The possible values are:
X Axes: top, bottom
Y Axes: left, right.
Stacked - if set to true, data is stacked.
Stacked area charts can be used to show how one data trend is made up of a number of smaller pieces. Bar charts can be configured into stacked bar charts by changing the settings on the X- and Y-axes to enable stacking.
Type - the type of the scale to be used: linear, logarithmic, or category:
Linear scale is used to chart numerical data. It can be placed on either the X- or Y-axis. The scatter chart type automatically configures a line chart to use one of these scales for the X-axis. As the name suggests, linear interpolation is used to determine where a value lies on the axis
Logarithmic scale is used to chart numerical data. It can be placed on either the X- or Y-axis. As the name suggests, logarithmic interpolation is used to determine where a value lies on the axis
Category - if global configuration is used, labels are drawn from one of the label arrays included in the chart data. If only data.labels is defined, this will be used. If data.xLabels is defined and the axis is horizontal, this will be used. Similarly, if data.yLabels is defined and the axis is vertical, this property will be used. Using both xLabels and yLabels together can create a chart that uses strings for both the X- and Y-axes.
Specifying any of the settings above defines the X-axis as the category type if not defined otherwise. For more fine-grained control of category labels it is also possible to add labels as part of the category axis definition. Doing so does not apply the global defaults.

Grid Lines

The grid line configuration is nested under the scale configuration in the gridLines key. It defines options for the grid lines that run perpendicular to the axis.
https://www.chartjs.org/docs/latest/axes/styling.html
Border Dash - the length and spacing of dashes on grid lines.
Color - the grid lines color. If specified as an array, the first color applies to the first grid line, the second to the second grid line and so on.
Display - if set to false, the grid lines for this axis will not be displayed.
Draw Border - if set to true, the border at the edge between the axis and the chart area is drawn.
Draw On Chart Area - if set to true, the lines on the chart area inside the axis lines are drawn. This is useful when there are multiple axes and you need to control which grid lines are drawn.
Draw Ticks - if set to true, the lines beside the ticks in the axis area beside the chart are drawn.
Line Width - the stroke width of grid lines.
Offset Grid Lines - if set to true, the grid lines will be shifted to locate between the labels. This is set to true for the bar chart by default.
Tick Mark Length - the length in px that the grid lines will draw into the axis area.
Z-Index - z-index of the grid line layer. The values <= 0 are drawn under datasets, those that are `> 0 on top.
Zero Line Border Dash - the length and spacing of dashes of the grid line for the first index (index 0).
Zero Line Color - the stroke color of the grid line for the first index (index 0).
Zero Line Width - the grid line stroke width for the first index (index 0).

Label

Display - if set to true, displays the axis title.
Font Color - the font color for scale title.
Font Size - the font size for scale title.
Font Style - the font style for the scale title, follows the CSS font-style options (i.e. normal, italic, oblique, initial, inherit).
Label String - the text for the title.
Line Height - the height of an individual line of text.
Padding - the padding to apply around scale labels. Only top and bottom are implemented.

Ticks

Auto Skip - if set to true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to maxRotation before skipping any. Turn Auto Skip off to show all labels available.
Auto Skip Padding - the padding between the ticks on the horizontal axis with Auto Skip enabled.
Begin At Zero - if set to true, the scale will include 0 if it is not already included.
Display - controls the axis global visibility (visible when true, hidden when false).
Font Color - the font color for tick labels.
Font Size - the font size for the tick labels.
Font Style - the font style for the tick labels, follows the CSS font-style options.
Label Offset - the distance in px to offset the label from the center point of the tick in the X direction (for the X-axis), and the Y direction (for the Y-axis). Note that this can cause labels at the edges to be cropped by the edge of the canvas.
Line Height - the height of an individual line of text.
Max - the user defined maximum number for the scale, overrides maximum value from data.
Max Rotation - the maximum rotation for tick labels when rotating to condense labels. Rotation doesn't occur until necessary. Only applicable to horizontal scales.
Min - the user defined minimum number for the scale, overrides minimum value from data.
Min Rotation - the minimum rotation for tick labels. Only applicable to horizontal scales.
Mirror- flips tick labels around axis, displaying the labels inside the chart instead of outside. Only applicable to vertical scales.
Padding - the padding between the tick label and the axis. When set on a vertical axis, this applies in the horizontal (X) direction. When set on a horizontal axis, this applies in the vertical (Y) direction.
Precision - if defined with the Step Size property unspecified, the step size will be rounded to this many decimal places.
Reverse - reverses the order of tick labels if set to True.
Sample Size - the number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length.
Step Size - the user defined fixed step size for the scale.
Ticks Max Ticks Limit - the maximum number of ticks and gridlines to show.
Z-index - z-index of the tick layer. It is used when ticks are drawn on chart area. The values <= 0 are drawn under datasets, those > 0 on top.

🚧

For the linear Axes type Zero Line is 0!

πŸ“˜

Want to know more?

You can also check this step-by-step tutorial that shows how to create a simple Ionic 5 mobile application with a line chart in Appery.io.

Checkbox

Checkboxes allow the selection of multiple options from a set of options. They appear as checked (ticked) when activated. Clicking on a checkbox will toggle the checked property. They can also be checked programmatically by setting the checked property.

Using Checkbox as a Form Control

If included in a Form component, Checkbox becomes a Form Control:

The Name property should be specified (by default, the Name property is defined as the Component name property, so change it if necessary).

🚧

Use the following description only when the Form component has the disabled Native validation property. If the Native validation property is enabled the control can be used as a default HTML Form Control.

To set the initial value of the control, use the Initial Value property of the Form Control properties section. The component can have only boolean (true or false) values. If the property is not specified, the initial value will be set to null.

To use variables as the control's data, the advanced property [(ngModel)] should be specified - the variable name should be entered as the property value. It replaces the value that is set by the Initial Value property.

The component can get additional properties (Control ID and Control options) that allow checking the validity, changing updating strategy, etc. These properties can be used if the Native Validation property is disabled for the Form component.
Read more about validation in the Form section.

🚧

Note!

The component can't be used with array iteration data for creating a dynamic form structure. If you need to create such kind of structure, follow these recommendations.

Properties

The Checkbox component has the following properties:

Common Properties

Property Name

Property Description

Checked

If set to true, the checkbox is selected. The default is set to false.

Name

The name of the control, which is submitted with the form data.

Indeterminate

If set to True, the checkbox will visually appear as indeterminate. The default is set to false.

Value

Used as data for forms and groups. The value of the checkbox does not mean if it is checked or not, use the checked property for that.

[(ngModel)]

Angular directive for data binding.

(ionBlur)

The event emitted when the toggle loses focus.

(ionChange)

The event emitted when the checked property has changed.

(ionFocus)

The event emitted when the toggle has focus.

When the Item Wrapped property is set to True, the component will be included in the Item with additional properties:

Property Name

Property Description

Item Wrapper

If the item wrapper features are used, the checkbox will be wrapped in the ion-item tag.
Color - item wrapper Ionic 5 color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Disabled - if set to true, the user cannot interact with the component. Defaults are set to false.
Lines - how the bottom border should be displayed on the item. Available options are Full, Inset or None.

Label

If label is used, the input will be wrapped in the <ion-item> tag.
Text - label text.
Position - determines where and how the label behaves inside an item. The possible values are Inline, Fixed, Stacked or Floating.
Color - label Ionic color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Slot - label position in the ion-item tag (Start or End).

Reorder

Reorder properties:
Type - if set to Wrapper, the item will be wrapped into a reorder tag.
Icon - custom icon for reorder with a type Content.
Click the Default icon button to select the needed icon.
Custom SVG Icon - used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.

Styles Properties

Under the Styles tab, checkboxes can be styled with the following attributes to look like in a specific way:

Property Name

Property Description

Margin

Set the checkbox margin area in px, %, em, vh, and vw:
All sides, Top, Right, Bottom, Left.

Checkbox Size

Set the checkbox size in px, %, em, vh, and vw.

Background

Color - select CSS background color of the checkbox from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Color Checked - select CSS background color of the checkbox (when checked) from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border

Style - the checkbox border style ,
Available values are: Solid, Dotted, Dashed, and Double.
Width - border checkbox width in px, em, vh, and vw.
Color - select CSS border color of the checkbox from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Color Checked - select CSS border color of the checkbox (when checked) from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Radius - border checkbox radius in px, %, em, vh, and vw.

Checkmark

Color - select CSS checkmark color of the checkbox from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Width - stroke width of the checkbox checkmark in px, %, em, vh, and vw.

DataTable

The DataTable component consists of DataTableCols the number of which can be changed by adding or cloning.

Properties

The DataTable component has the following properties:

Property Name

Property Description

Data Mode

Data source.
Mode: Client Pages, Client Infinite, Server Pages, or Server Infinite.
Service Name - the service to be linked with the datatable to return data. It is created after a datasource is added under the DATA tab.

Rows

An array of rows to display (variable or mapping).
Value type: Array. The default value is set to [].
There are two ways to set the data source for Rows:
Define a variable under the CODE tab with data. Then choose the variable as the value for the property Rows;
Use the DATA tab to map service data to the Rows property.

Limit

Is necessary for calculating sizes (rows count) of the page and for pagination.
If not defined, Limit will be calculated as the length of Rows data (one page with all rows data).

Count

Enter the number to set the total count of all rows. The default is set to 0.
The property is necessary for correct rows displaying in infinite scroll modes and for calculations for page navigation.
Required if the Data Mode property is set to Server Pages or Server Infinite. If the Data Mode property is set to Client Pagesor Client Infinite, Count will be automaticallycalculated as the length of `Rows data.

Offset

The current offset ( page - 1 ) is shown.
The property is necessary for calculating the number of the current page. In this case, it will be the Offset property increased by 1.
Should be set if the number of the first page differs from the default,

Selection Type

The type of row selection. The value types are
Single - one row can be selected at a time;
Cell - one cell can be selected at a time;
Multi - multiple rows can be selected using Ctrl or Shift keys;
MultiClick - multiple rows can be selected by clicking;
Checkbox - multiple rows can be selected using checkboxes.

Display Check

Can be used to check whether you want to show the checkbox for a particular row based on some criteria.
Create a new function under the DATA tab of the Visual Editor and choose the created function for the property.

(row, column, value) => {
    return row.name !== 'Ethel Price';
}

External Sorting

To be used instead of client-side sorting. The default is set to False.

Row Height

Is necessary for calculating the sizes of the page when infinite scrolling is used and it is optional for pagination mode.
The default value is auto for Client Pages / Server Pages and 50 for Client Infinite / Server Infinite.
When infinite scrolling is not used, pass undefined for fluid heights.
If infinite scrolling is used, pass a number to calculate the heights.
Row Height can`t be auto when the Data Modeproperty is set to Client Infinite or Server Infinite or theScrollbarV property is set to True. It is automatically changed to undefined from auto if the properties above are set.

Header Hight

Minimum header height in pixels.
Header Height can`t be auto when ScrollbarV is True or Data Mode is Client Infinite or Server Infinite or theScrollbarV property is set to True. It is automatically changed to undefined from auto if the properties above are set.

Footer Height

The minimum footer height in pixels. This property is used for calculating the dimensions of the table size.
Pass false value for no footer.

Table Height

Sets the height of a datatable in the percentage of viewport height. It means appending a special CSS class with needed styles. It will be changed to 100 % automatically when the Data Mode property is set to Client Infinite or Server Infinite or the ScrollbarV property is defined as True.

  • 25 % - 25vh
  • 33 % - 33vh
  • 50 % - 50vh
  • 66 % - 66vh
  • 75 % - 75vh
  • 100 % - 100vh.

ScrollbarH

Enables / disables horizontal scrollbars. The default value is set to False.

ScrollbarV

Is necessary for infinite scrolling. Setting the property to True resets the Row Height and Header Height properties from auto to undefined because there are required defined heights values for correct table calculations. The default value is set to False.

Column mode

Column modes allow having a variety of different ways to apply column width distribution to the columns using:
Standard - columns are distributed given the width is defined in the column options;
Flex - distributes the width's grow factor relative to other columns. It works the same as the flex-grow API in CSS. Basically, it takes any available extra width and distributes it proportionally according to each column's Flex Grow value. Flex is not suggested when the ScrollbarH property is set to True;
Force forces the widths of the columns to distribute equally but overflows when the min-width of each column is reached. Force is usually the ideal column distribution method when columns do not need to be fixed-sized.

Theme

Sets the default style of a datatable. It means appending a special CSS class of a predefined theme to the datatable element. The value types are Material (default), Dark, Bootstrap.

Reordable

Enables/disables the ability to re-order columns by dragging them. Value type: boolean. The default value is set to True.

Row Class

The function used to populate a row's CSS class. The function will take a row and return a string or object. The value type is Function.
It makes adding custom classes depending on specific conditions possible.
Create a new function under the CODE tab of the Visual Editor and choose the created function for the property.

(row) => {
  return {
    'old': row.age > 50,
    'young': row.age <= 50,
    'woman': row.gender === 'female',
    'man': row.gender === 'male'
  }
}

Sorts

Is used to determine the default column for sorting. The default is set to empty (unsorted).
Column Name - enter text to name a column.
Direction - set the sorting direction: asc (ascending) or desc (descending).

Messages

Static messages in the table that can be overridden for localization.
Value types:
Empty Message - a message to show when an array with no values is presented;
Selected Message - footer selected message;
Total Message - footer whole message.

Css Classes

Custom CSS classes that can be defined to override the icons classes for up/down in sorts and previous/next in the pager.
If entered, custom classes for icons will replace existing classes.
Value types:
Pager Left Arrow - the default value is set to datatable-icon-left;
Pager Next - the default value is set to datatable-icon-skip;
Pager Previous - the default value is set to datatable-icon-prev;
Pager Right Arrow - the default value is set to datatable-icon-right;
Sort Ascending - the default value is set to datatable-icon-down;
Sort Descending - the default value is set to datatable-icon-up.

(select)

Action to be triggered when the component is selected.

DataTableCol

To add a DataTableCol, click the + button on the DataTable.
The DataTableCol component has the following properties:

Property Name

Property Description

Name

Column label. If none is specified, it will use the prop value and decimalize it.

Property

The property to bind the row values to. If undefined, it will camelcase the name value.

Resizeable

The column can be resized manually by the user. The default is set to True.

Can Auto Resize

Whether the column can automatically resize to fill extra space. The default is set to True.

Sortable

Sorting of the row values by this column. The default is set to True.

Draggable

Defines if the column can be dragged to re-order. The default is set to True.

Checkboxable

Indicates whether the column should show a checkbox component for selection. Only applicable when the selection mode is Checkbox.

Header Checkboxable

Indicates whether the column should show a checkbox component in the header cell. Only applicable when the selection mode is Checkbox.

Frozen Left

Determines if the column is frozen to the left.

Frozen Right

Determines if the column is frozen to the right.

Cell Template

Click the Edit button to access the HTML editor. Angular TemplateRef allows authoring custom body cell templates.

Header Template

Click the Edit button to access the HTML editor. Angular TemplateRef allows authoring custom header cell templates.

Width

The width of the column by default in pixels. The default is set to 150.

Min Width

The minimum width of the column in pixels. The default is set to 100.

Max Width

The maximum width of the column in pixels.

Flex Grow

The grow factor relative to other columns. Same as the flex-grow API. It will any available extra width and distribute it proportionally according to all columns' flexGrow values. The default is set to 0.

Cell Class

Cell classes to apply to the body cell.

Header Class

Header CSS classes to apply to the header cell.

Datetime

The Datetime component is used to present an interface that makes it easy for users to select dates and times.

Properties

The Datetime component has the following properties:

Common Properties

Property Name

Property Description

Value

The value of the datetime as a valid ISO 8601 datetime string.
Click the Calendar icon to set the needed value.

Placeholder

Instructional text that shows before the datetime has a value.

Readonly

If set to True, the value can not be modified. The default is set to False.

Min

The minimum datetime allowed. Click the Calendar icon to set the needed value.

Max

The maximum datetime allowed. Click the Calendar icon to set the needed value.

Display Format

The display format of the date and time as text that shows within the item. Select the appropriate from the dropdown or enter your value.

Picker

Add a picker to the datetime. The value types are:
Cancel text- the text to display on the picker's cancel button.
Done Text - the text to display on the picker's done button.
Picker Format - the format of the date and time picker columns the user selects. Select the needed format from the dropdown or enter your value.
Picker Options - any additional options that the picker interface can accept.

Year Values

Comma-separated values used to create the list of selectable years.

Month

Month picker options:
Names - full comma-separated names for each month's name. This can be used to provide locale month names. Defaults are set to English.
Short Names - short comma-separated abbreviated names for each month's name. This can be used to provide locale month names. Defaults are set to English.
Values - comma-separated values used to create the list of selectable months.

Day

Day picker options:
Names - full comma-separated names of the day of the week. This can be used to provide locale names for each day in the week. Defaults are set to English.
Short Names - short abbreviated day of the week comma-separated names. This can be used to provide locale names for each day in the week. Defaults are set to English.
Values - comma-separated values used to create the list of selectable days.

Hour Values

Comma-separated values used to create the list of selectable hours.

Minute Values

Comma-separated values used to create the list of selectable minutes.

Slot

Position inside another component: Start or End. Defaults are set to «».

[(ngModel)]

Angular directive for data binding.

(ionChange)

The event emitted when the value has changed.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The default value of the Slot property has been changed: End -> «».

When the Item Wrapped property is set to True, the component will be included in the Item with additional properties:

Property Name

Property Description

Item Wrapper

If the item wrapper features are used, the input will be wrapped in tag.
Color - item wrapper Ionic 5 color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Disabled - if set to true, the user cannot interact with the component. The default is set to False.
Lines - defines how the bottom border should be displayed on the item. The available options are Full, Inset or None.
Mode - determines which platform styles to use. Possible values are iOS or MD.
Class - defines equal styles for elements with the same class name.
Slot - position inside another component: Fixed.

Label

Text - label text.
Position - determines where and how the label behaves inside an item. The possible values are Fixed, Stacked, or Floating.
Color - label Ionic 5 color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Mode - determines which platform styles to use. Possible values are iOS or MD.
Slot - label position in tag (Start or End).

Reorder

Reorder properties:
Type - Content or Wrapper. If Wrapper is used, the item will be wrapped into a reorder tag.
Icon - custom icon for Reorder with a type Content. Click the Default icon button to select the needed icon.
Slot - position inside the item: Start or End.
Custom SVG Icon - used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.

Every new Datetime component is created with a default label and the current time value.

Styles Properties

Under the Styles tab, Datetime components can be styled with the following attributes to look like in a specific way:

Margin

Set the margin area of an element in px, %, em, vh, and vw:
All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw:
All sides, Top, Right, Bottom, Left.

Placeholder Color

Select CSS color of a datetime placeholder from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw:
All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Using Datetime as a Form Control

If included in a Form component, Datetime becomes a Form Control:

Note that the property Name should be specified. By default, the Name property is set as the Component name property. Change it to your name if it is necessary.

To use variables as the control's data, the advanced property [(ngModel)] should be specified - the variable name should be entered as the property value. It replaces the value that is set by the Initial Value property.

The component can get additional properties (Control ID and Control options) that allow checking the validity, changing updating strategy, etc. These properties can be used if the Native Validation property is disabled for the Form component.
Read more about validation in the Form section.

🚧

Note!

The component can't be used with array iteration data for creating a dynamic form structure. If you need to create such kind of structure, follow these recommendations

Visit the Ionic documentation to read more about Datetime.

Divider

Item dividers are block elements that can be used to separate items in a list.
They are similar to list headers, but instead of being placed at the top of a list, they should go in between groups of items.

Properties

The Divider component has the following properties under the Styles tab to be styled to look like in a specific way:

Property Name

Property Description

Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Height

Set the height of a divider in px, em, vh, and vw.

Padding

Set the padding area of an element in px, %, em, vh, and vw:
All sides, Top, Right, Bottom, Left.

Form

Handling user input with forms is the cornerstone of many common applications. Applications use forms to enable users to log in, update a profile, enter sensitive information, or to perform many other data-entry tasks.

The Form component is based on Angular template-driven forms.

Composition

The Form is a container that can include Form Controls like Checkbox, Datetime, Input, Radiogroup, Range, Select, and Toggle).
To create a Form Control, drag & drop a needed component from the components PALETTE and place it inside the Form to see the Form Control section with more control properties added:

🚧

The added component will become a Form Control only when the property Name is specified which defines the control data key.
For example, we have an Input with defined Name = userName and value = Peter. In this case, the control data will be available as the property of the form data object: {userName: 'Peter'}.

Sending data

There are two ways to send form data:

  1. Including the special Submit control. The control has to be placed inside the form:
<form>
    <ion-button type="submit">Submit</ion-button>
</form>
  1. Using the Form submit action on the EVENTS tab. The control can be placed everywhere on the page.

Actions at the form submitting can be specified in three ways:

  1. Using the Form submit event of the form component on the EVENTS tab (for beginners). In this case, a user can choose an action to be executed at the form submitting. For example, such action can be Invoke service (e.g. Login service) with specified mapping on the DATA panel.
  2. Using the (ngSubmit) event of the component (for advanced users). In this case, a user has to define a function - handler which will execute submitting from custom code.
  3. Using the Action property of the component (for advanced users). In this case, a user has to define the URL where form data will be sent.

Validation

By default, Ionic has its own validation rules for controls included in the form. If you want to use the validity of the form in general, specify the property Form ID.
The word passed as the value of the property can be used as a variable containing information about the form. Such usage is described in the PROPERTIES section:
The Form ID property can be used as the variable containing the Form state (e.g. formID.valid and formID.value). To use it in custom code, add 'this.' prefix.

Form and Controls have different states when Ionic validation is used.

State

Description

valid

A control is considered valid if no validation errors exist with the current value. If the control is not present, null is returned.

invalid

An error exists in the input value. If the control is not present, null is returned.

pending

Async validation is occurring and errors are not yet available for the input value. If the control is not present, null is returned.

disabled

The control is disabled in the UI and is exempt from validation checks and excluded from aggregate values of ancestor controls. If the control is not present, null is returned.

enabled

The control is included in ancestor calculations of validity or value. If the control is not present, null is returned.

pristine

The user has not yet changed the value in the UI. If the control is not present, null is returned.

dirty

The user has changed the value in the UI. If the control is not present, null is returned.

touched

The user has triggered a blur event on it. If the control is not present, null is returned.

untouched

The user has not yet triggered a blur event on it. If the control is not present, null is returned.

errors

Reports the control's validation errors.

For example, check using the invalid input state to show an error message: <ion-text *ngIf="user.invalid" color="danger">Incorrect user name</ion-text>. In this case, user is a Control ID defined for the Input component.
If you need to use validation to specific errors, use the errors state with specifying the type of a validation error.

Let's see how different error messages at the Input component validation are displayed.
Define the Control ID property of the Input with the passControl value and set its validation (to required and pattern="[0-9]*", for example).
Add two components containing error messages and add the *ngIf directive as an advanced property with the value that is a condition for displaying the error component. The directive is used to show/hide components depending on a directive boolean value.

If the component is valid, the expression passControl.errors will return null (equal to false).
If the component is invalid, the expression passControl.errors will return the object containing all validation errors available by their names. The existence of a necessary error name in the returned errors object is used for the condition of displaying the error message.

<form #myForm="ngForm">
    <ion-input required pattern="[0-9]*" #passControl="ngModel" [ngModel] name="pass"></ion-input>
    <ion-text *ngIf="passControl.errors && passControl.errors.required" color="danger">Value has to be entered</ion-text>
    <ion-text *ngIf="passControl.errors && passControl.errors.pattern" color="danger">Value should contain only numbers</ion-text>
</form>

πŸ“˜

Want to know more?

More details with examples about the Validation property can be found here.

Properties

Common Properties

Property Name

Property Description

Novalidate

This boolean attribute indicates that the form shouldn't be validated when submitted.

Native validation

If set to True, native HTML5 validation is used instead of Angular validation. The form will work as the default HTML

.

Form ID

A unique word identifying the component (Template reference variable) that contains current form information. Used in component's properties as a variable containing the form state.

Update On

Controls when the value or the validity is updated: Change, Blur, Submit

Features

Advanced options containing default HTML form attributes.

  • Action - the URL that processes the form submission. Specifies where to send the form-data when a form is submitted. Disabled if Form submit or (ngSubmit) is used.
  • Enctype - specifies how the form-data should be encoded when submitting it to the server (only if Method is set to post).
    The Enctype property has the following options:
    application/x-www-form-urlencoded - default. All characters are encoded before sent (spaces are converted to "+" symbols, and special characters are converted to ASCII HEX values);
    multipart/form-data - no characters are encoded. This value is required when you are using forms that have a file upload control;
    text/plain - spaces are converted to + symbols, but no special characters are encoded.
  • Method specifies the HTTP method (get or post) to use when sending form-data:
    get appends form-data into the URL in name/value pairs.
    The length of a URL is limited (about 3000 characters).
    Never use GET to send sensitive data! (will be visible in the URL), it is better used for non-secure data, like query strings in Google.
    Useful for form submissions where a user wants to bookmark the result.
    post appends form-data inside the body of the HTTP request (data is not shown in URL). It has no size limitations.
    Form submissions with POST cannot be bookmarked.
  • Target specifies where to display the response that is received after submitting the form:
    Blank - the response is displayed in a new window or tab.
    Self - the response is displayed in the same frame (default);
    Parent - the response is displayed in the parent frame.
    Top - the response is displayed in the full body of the window.

(ngSubmit)

The event emitted when the form is submitted.
The event Form submit takes precedence over the Action property.

🚧

In the initial state of the component, the default HTML <form> features (Action, Target, etc.) are not supported because they are replaced with Angular functionality. To disable Angular functionality and enable default HTML behavior of the component, enable the Native validation property.

The Form ID property can be used in template or code as a variable containing information about the form:

formID = {
    value: boolean,   // Reports the value of the form
    valid: boolean,   // Reports whether the form is valid. A form is considered valid if no validation errors exist with the current value
    invalid: boolean, // Reports whether the form is invalid, meaning that an error exists in the value
    dirty: boolean    // Reports whether the form is dirty, meaning that the user has changed the value in the UI
  }

In templates, the Form ID property is used as a variable. It can be also passed as a function argument:

<ion-button disabled={{formID.invalid}} type="submit">Submit</ion-button>
  <ion-button (click)="send(formID)">Send</ion-button>

To be used in custom code, the variable is available as this.<Form ID>:

if (this.formID.valid) this.submit();

Styles Properties

Under the Styles tab, Form components can be styled with the following attributes to look like in a specific way:

Property Name

Property Description

Display

Set the card display behavior (the type of rendering box) by using the group of predefined buttons:
block - element starts on a new line and takes up the whole width
inline-block - element itself is formatted as an inline element but width and height values can be applied
inline - no height and width properties will have effect

Height

Sets form's height n px, %, em, vh, and vw.

Min Height

Set the minimum height of an element in px, %, em, vh, and vw.

Max Height

Set the maximum height of an element in px, %, em, vh, and vw.

Width

Set the form's width in px, %, em, vh, and vw.

Min Width

Set the minimum width of an element in px, %, em, vh, and vw.

Max Width

Set the maximum width of an element in px, %, em, vh, and vw.

Padding

Set the form padding area in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Background Color

Select the background color of an element from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw:All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Google Map

The Google Map component allows you to embed Google Maps into your app.

πŸ“˜

Google Maps web browser API key is required for the component to work properly. Set the Google API Key on the App Settings page of your app.

Properties

The Google Map component has the following properties:

Property Name

Property Description

Map Type

The map MapType ID. The allowed values are roadmap (default), hybrid, satellite, terrain, string.

Full Screen Control

The initial enabled/disabled state of the fullscreen control.

Gesture Handling

Controls how gestures on the map are handled. Allowed values are cooperative, greedy, none, auto. The default is set to auto.

Map Draggable

Enable to make the map draggable.

Zoom Control

The enabled/disabled state of zoom control.
If set to True (default), the zoom control can be used on the map.

Zoom

The zoom level of the map. The default zoom level is set to 8.

Disable Zoom

If set to True, the map zoom cannot be used when double-clicking. Defaults are set to False.

Scrollwheel

The Scrollwheel property set to true/false enables/disables the scroll wheel to scale the Google Map.
The Scrollwheel property with a null value is used for working Gesture Handling property with a cooperative value.
Scrollwheel is enabled by default.

View point

Google Map view point properties:
?Latitude defines the latitude position of the marker.
?Longitude defines the longitude position of the marker.

πŸ“˜

Note

Use the agm-map prefix to increase the priority of your custom classes.

Example: agm-map.map {.....}

Visit the Angular+ Google Map Documentation to read more about Angular+ Google Map.
Visit the Google Map JS API Documentation to read more about Google Map JS API.

πŸ“˜

Want to know more?

You can also check this document on the Google Map component sample app demonstrating how to use this component in an Ionic app.

Read more about the Google Map properties here.

πŸ“˜

You might also like this Appery.io Community video that shows how to create an Ionic application for choosing the best place for a party (using the voting functionality) by using the Google Map component:

Marker

By default, the Google Map component has one Marker.
To add another marker to the map, click the + button on the Marker icon:

The Marker component has the following properties:

Property Name

Property Description

Marker Clickable

If set to True(default), the marker can be clicked. The default value is set to true.

Marker Draggable

If set to True, the marker becomes draggable. The default value is set to False.

Add Info Window

If set to True, an information window will be added to the marker. These properties exist only inside the visual editor.

Open Info Window

If set to True (default), the info window will automatically open when the marker is clicked.

Coords

Google Map marker position.
latitude - the latitude position of the marker.
longitude - the longitude position of the marker.

πŸ“˜

Info Window displays content (usually text or images) in a popup window above the map, at a given location. The info window has a content area and a tapered stem. The tip of the stem is attached to a mark on the map.

More details about Google Map Marker directives can be found here.

Google Map Window

Set Add Info Window to True for the Marker component to add a new Google Map Window:

The Google Map Window component has the following properties:

Property Name

Property Description

Is Open

Sets the open state for the info window.

Disable Auto Pan

Disable auto-pan on open. By default, the info window will pan the map so that it is fully visible when it opens.

Max Width

The maximum width of the info window, regardless of content width. This value is only considered if set before a call to open.

Z-Index

All info windows are displayed on the map in order of their zIndex, with higher values displaying in front of info windows with lower values.

🚧

Setting the addInfoWindow property to False will remove the Google Map Window from the Marker (Ionic5GoogleMapMarkerBean region).

Here is more information about Google Map Window properties.

You might also like our Appery.io Community video that shows how to use the Google Maps component to get current geolocation with Appery.io Geo Service plug-in:

Grid

The Grid component is a powerful mobile-first flexbox system for building custom layouts.
It is composed of three units β€” Grid, Row(s) and Cell(s). Cells will expand to fill the row and will resize to fit additional cells. It is based on a 12 cell layout with different breakpoints based on the screen size. The number of cells can be customized by using CSS.

Properties

Grid has the following properties:

Common Properties

Property Name

Property Description

Grid

If set to False, rows are used without a grid. The default is set to True.

Padding

Adds paddings to the grid and immediate children columns. The possible values are Padding, No Padding, Padding Top, Padding Start, Padding End, Padding Bottom, Padding Vertical, Padding Horizontal.

Styles Properties

Under the Styles tab, Grid components can be styled with the following attributes to look like in a specific way:

Property Name

Property Description

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Fixed

If set to True, the grid will have a fixed width based on the screen size. The default is set to false.

Background Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Width

Set an element's width in px, %, em, vh, and vw.

Min Width

Set the minimum width of an element in px, %, em, vh, and vw.

Max Width

Set the maximum width of an element in px, %, em, vh, and vw.

Height

Set an element's height in px, %, em, vh, and vw.

Min Height

Set the minimum height of an element in px, %, em, vh, and vw.

Max Height

Set the maximum height of an element in px, %, em, vh, and vw.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Visit the Ionic documentation to read more about Grids.

πŸ“˜

Note!

When working with the Grid component, pay attention to the Breadcrumbs above the phone frame.

Grid Row

To add a Grid Row, click the + button on the Grid. By default, a new row with two Grid Cells will be created.

Under the Styles tab, Grid Row components have the additional styling properties:

Property Name

Property Description

Justify Content

Horizontal alignment of all cells (start, center, end, space-around, space-between, space-evenly).

Align items

Vertical alignment of all cells (start, center, end, stretch, baseline), unless they specify their own alignment.

Flex Wrap

Wrapping of cells: wrap, nowrap - forces the cells to a single row, or wrap reverse - the cells will wrap in reverse.

Here is more information about a Grid Row.

Grid Cell

Click the + button on the selected Grid Row to add a new Grid Cell.
Under the Styles tab, Grid Cell components have the additional styling properties:

Property Name

Property Description

Size

The size of the cell, in terms of how many cells it should take up out of the total available. If auto is passed, the cell will be the size of its content.
Size - the size of the cell for all screens.
Size Lg - the size of the cell for Lg screens
Size Md - the size of the cell for Md screens
Size Sm - the size of the cell for Sm screens
Size Xl - the size of the cell for Xl screens
Size Xs - the size of the cell for Xs screens.

Offset

The amount to offset the column, in terms of how many columns it should shift to the right of the total available.
Offset - the offset of the cell for all screens.
Offset Lg - the offset of the cell for Lg screens
Offset Md - the offset of the cell for Md screens
Offset Sm - the offset of the cell for Sm screens
Offset Xl - the offset of the cell for Xl screens
Offset Xs -the offset of the cell for Xs screens.

Pull

The amount to pull the cell, in terms of how many cells it should shift to the left of the total available.
Pull - the pull of the cell for all screens.
Pull Lg - the pull of the cell for Lg screens
Pull Md - the pull of the cell for Md screens
Pull Sm - the pull of the cell for Sm screens
Pull Xl - the pull of the cell for Xl screens
Pull Xs - the pull of the cell for Xs screens.

Push

The amount to push the cell, in terms of how many cells it should shift to the right of the total available.
Push - the push of the cell for all screens.
Push Lg - the push of the cell for Lg screens
Push Md - the push of the cell for Md screens
Push Sm - the push of the cell for Sm screens
Push Xl - the push of the cell for Xl screens
Push Xs - the push of the cell for Xs screens.

Align Self

Vertical alignment of all columns (auto, start, center, end, stretch, baseline), unless they specify their own alignment.

Text Alignment

Aligns the inline contents.
Possible values are text-left, text-right, text-start. text-end, text-center, text-justify.
Read more about Text Alignment.

πŸ“˜

Specific properties are used to set values based on screen sizes (e.g. Pull Sm means that the property Pull will be applied if screen sizes are Sm and larger).

Screen sizes:
xs - 0px;
sm - 576px;
md - 768px;
lg - 992px;
xl - 1200px.

Here is more information about Grid Cell.

πŸ“˜

You can check this tutorial to learn how the Grid component can be used in Appery.io.

Html

The HTML component allows inserting custom tags.

Properties

Setting the HTML component properties can be done from under Common and/or Styles tabs:

Common Properties

Property Name

Property Description

Container

Sets an HTML element used as the wrapper for content: No wrapper, div, span.
You can select from the predefined container types or paste your custom container name.

HTML

Contents of the HTML component.
Click the Edit button to open the HTML editor.

Wrapper Style

Use it to style the HTML component with custom components inside so that the page appearance in the visual editor corresponds to the page appearance on the preview.
Color
CSS Style
Display (block, inline-block, inline, flex)
Height (in px or %)
Width (in px or %).
It is used only inside the visual editor and does not have any reflection in the application.

πŸ“˜

The property Container is just a component container.

You can use a special keyword %children% to insert child components in the middle of HTML content.

Styles Properties

Under the Styles tab, HTML components can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Display

Set the display behavior (the type of rendering box) of an element by using the group of predefined buttons:
block - element starts on a new line and takes up the whole width
inline-block - element itself is formatted as an inline element but width and height values can be applied
inline - no height and width properties will have effect.

Width

Set an element's width in px, %, em, vh, and vw.

Min Width

Set the minimum width of an element in px, %, em, vh, and vw.

Max Width

Set the maximum width of an element in px, %, em, vh, and vw.

Height

Set an element's height in px, %, em, vh, and vw.

Min Height

Sets the minimum height of an element in px, %, em, vh, and vw.

Max Height

Sets the maximum height of an element in px, %, em, vh, and vw.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Position

Type - set how an element is positioned in a document: Static, Relative, Fixed, Absolute, or Sticky;
Top - set the top margin edge for a positioned box in px, %, em, vh, and vw;
Right - set the right margin edge for a positioned box in px, %, em, vh, and vw;
Bottom - sets the bottom margin edge for a positioned box in px, %, em, vh, and vw;
Left - set the left margin edge for a positioned box in px, %, em, vh, and vw.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Background Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Text Align

Set the horizontal alignment of the text by using the group of predefined buttons:
align to the left
center
align to the right
stretch the lines so that each line has equal width.

Vertical Align

Set the vertical alignment of an element (inline or inline-block): Baseline, Middle, Sub, Super, Top, Bottom, Text-top, Text-bottom.

Text Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Font Size

Enter font size in px, %, em, vh, and vw.

Font Weight

Set the weight (or boldness) of the font: Normal or Bold.

Line Height

Set the height of a line box in px, %, em, vh, and vw. It's commonly used to set the distance between lines of text.

Font Style

Set whether a font should be styled with a Normal or Italic face.

Text Decoration

Set the appearance of decorative lines on text by using the group of predefined buttons:
specifies no line for the text
specifies that the line will be displayed under the text
specifies that the line will be displayed through the text.

Opacity

Set the opacity of an element. Opacity is the degree to which content behind an element is hidden.
Opacity value must be in range from 0 to 1.
Opacity value must be nonnegative.
Opacity value length can't be more than 10.

Icon

Ionicons is a completely open-source icon set with 700+ icons crafted for web, iOS, Android, and desktop apps. Ionicons was built for Ionic Framework, so icons have both Material Design and iOS versions. When used with Ionic, the <ion-icon> component will automatically use the correct version based on your platform. Additionally, when used outside of Ionic, both iOS and MD platforms can be chosen by the application.

Properties

The Icon component has the following properties:

Common Properties

Property Name

Property Description

Name

Ionic 5 icons. Click the default logo-ionic button to open the Select icon modal window.

Custom SVG Icon

Allows selecting a custom icon svg, puts it's Url in the <src> attribute. The external file can only be a valid svg and does not allow scripts or events within the svg element.
Click the Change button to select the uploaded image from Media Manager.

Styles Properties

Under the Styles tab, icons can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Icon Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Size

The icon size. Possible values are: Small or Large.

Height

Set an element's height in px, %, em, vh, and vw.

Max Height

Set the maximum height of an element in px, %, em, vh, and vw.

Min Height

Set the minimum height of an element in px, %, em, vh, and vw.

Width

Set an element's width in px, %, em, vh, and vw.

Max Width

Set the maximum width of an element in px, %, em, vh, and vw.

Min Width

Set the minimum width of an element in px, %, em, vh, and vw.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Display

Set the display behavior (the type of rendering box) of an element by using the group of predefined buttons:
block - element starts on a new line and takes up the whole width
inline-block - element itself is formatted as an inline element but width and height values can be applied
inline - no height and width properties will have effect.

Vertical Align

Set the vertical alignment of an element (inline or inline-block): Baseline, Middle, Sub, Super, Top, Bottom, Text-top, Text-bottom.

Opacity

Set the opacity of an element. Opacity is the degree to which content behind an element is hidden.
Opacity value must be in range from 0 to 1.
Opacity value must be nonnegative.
Opacity value length can't be more than 10.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The Mode property has been removed.

Visit the Ionic documentation to learn more about Icons.

Image

Image is a tag that will lazily load an image whenever the tag is in the viewport. This is extremely useful when generating a large list as images are only loaded when they're visible. The component uses Intersection Observer internally, which is supported in most modern browsers, but falls back to a set timeout when it is not supported.

Properties

The Image component has the following properties:

Common Properties

Property Name

Property Description

Image

Click the Change button to select the uploaded image from Media Manager.

Ionic Image

If set to True, image tag <img> will be changed to Ionic 5 image tag <ion-img>. The default is set to True.

Wrapper

Choose Ionic 5 tag (Avatar or Thumbnail) that will be used as a wrapper of a default image.

Responsive

If set to True, automatically adjusts to fit the screen size. The default is set to False.

Shape

Image style. Used for default HTML images only.

Alt. Text

This attribute defines the alternative text describing the image.

πŸ“˜

The properties Responsive and Shape are not available when Ionic Image is set to True or Wrapper is Avatar or Thumbnail.

Styles Properties

Under the Styles tab, images can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Height

Set an element's height in px, %, em, vh, and vw.

Max Height

Set the maximum height of an element in px, %, em, vh, and vw.

Min Height

Set the minimum height of an element in px, %, em, vh, and vw.

Width

Set an element's width in px, %, em, vh, and vw.

Max Width

Set the maximum width of an element in px, %, em, vh, and vw.

Min Width

Set the minimum width of an element in px, %, em, vh, and vw.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Display

Set the display behavior (the type of rendering box) of an element by using the group of predefined buttons:
block - element starts on a new line and takes up the whole width
inline-block - element itself is formatted as an inline element but width and height values can be applied
inline - no height and width properties will have effect.

Vertical Align

Set the vertical alignment of an element (inline or inline-block): Baseline, Middle, Sub, Super, Top, Bottom, Text-top, Text-bottom.

Opacity

Set the opacity of an element. Opacity is the degree to which content behind an element is hidden.
Opacity value must be in range from 0 to 1.
Opacity value must be nonnegative.
Opacity value length can't be more than 10.

Visit the Ionic documentation to read more about Images.

Input

The Input component is a wrapper to the HTML input element with custom styling and additional functionality. It accepts most of the same properties as the HTML input does and works great on desktop devices and integrates with the mobile devices' keyboards.

Using Input as a Form Control

Input becomes a Form Control if it is included in a Form component and has the specified Name property. By default, the Name property is set as the Component name property but can be changed:

πŸ“˜

Use the following description only when the Form component has the disabled Native Validation property. With the Native Validation property enabled, the control can be used as a default HTML Form Control.

To set the control initial value, use the Initial Value property of the Form Control properties section. The component can have only string values or null. If the property isn't specified, the initial value will be null.

🚧

Note!

The component can't be used with array iteration data for creating a dynamic form structure. If you need to create such kind of structure, follow these recommendations

Properties

Setting the Input component properties can be done from under Common and/or Styles tabs:

Common Properties

Property Name

Property Description

Value

Input value.

Placeholder

Instructional text that shows before the input has a value.

Name

The name of the control, which is submitted with the form data.

Debounce

Set the amount of time, in milliseconds, to wait to trigger the ionChange event after each keystroke. The default is set to 0.

Enter Key Hint

An input attribute that specifies what action label or icon to present for the enter key on virtual keyboards: Enter, Done, Go, Next, Previous, Search, Send.

Input Mode

An input attribute indicating which type of keyboard to display: None, Decimal, Email, Numeric, Search, Tel, Text, Url.

Readonly

If set to True, the value can not be modified. The default is set to False.

Type

The type of control to display. The possible values are Text (default), Password, Email, Number, Search, Tel, URL, Date, Time or File.
If the Password type is set, the Add show icon property becomes available and if set to true, the Show/Hide password icon will be added to the component.

Features

Accept - if the value of the type attribute is File, this attribute will indicate the types of files acceptable by the server, otherwise it will be ignored. The value must be a comma-separated list of unique content type specifiers.
Autocapitalize - indicates whether and how the text value should be automatically capitalized while being entered/edited. The default is set to None.
Autocomplete - indicates whether the value of the control can be automatically completed by the browser. The default: is set to Off.
Autocorrect - whether auto-correction should be enabled while the text value is being entered/edited. The default is set to Off.
Autofocus - this boolean attribute allows specifying that a Form Control should have input focus when the page loads. The default is set to False.
Clear Input - if set to True, a clear icon will appear in the input when there is a value. Clicking it clears the input. The default is set to False.
Clear On Edit - if set to True, the value will be cleared after focus upon editing. Defaults are set to true when type is Password or False for all other types.
Max - the maximum value, which must not be less than its minimum (min attribute) value.
Max Length - if the value of the type attribute is Text, Email, Search, Password, tel or URL, this attribute specifies the maximum number of characters to be entered.
Min - the minimum value, which must not be greater than its maximum (max attribute) value.
Min Length - if the value of the type attribute is Text, Email, Search, Password, tel or URL, this attribute specifies the minimum number of characters to be entered.
Multiple - if set to True, more than one value can be entered. This attribute applies when the type attribute is set to Email or File, otherwise it is ignored.
Pattern - a regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to get help. This attribute applies when the value of the type attribute is Text, Search, Tel, URL, Email, or Password, otherwise it is ignored.
Size - the initial size of the control. This value is in pixels unless the value of the type attribute is text or password, in which case it is an integer number of characters.
Spellcheck - to check the element's spelling and grammar, set to True. The default is set to False.
Step - works with the min and max attributes to limit the increments at which a value can be set. Possible values are any or a positive floating point number.

[(ngModel)]

Angular directive for data binding.

(ionChange)

The event emitted when the value has changed.

(ionFocus)

The event emitted when the input has focus.

(ionInput)

The event emitted when the value has changed.

When the Item Wrapped property is set to True, the component will be included in the item with additional properties:

Property Name

Property Description

Item Wrapper

If the item wrapper features are used, the input will be wrapped in the ion-item tag.
Color - item wrapper Ionic 5 color: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, or Dark.
Disabled - if set to true, the user cannot interact with the component. Defaults are set to false.
Lines - how the bottom border should be displayed on the item. Available options are Full, Inset or None.

Icon

Ionic 5 input icon.
Name - allows changing Ionic 5 icon style dynamically by property binding to [name]. You can use string (Ionic 5 Icon name e.g. star) or variable names.
Style - Ionic 5 icons. Click the No icon button to open the Select icon modal window.
Class - icon CSS classes.
Color - icon color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Slot - icon position in the ion-item tag (Start or End).
Custom SVG Icon - select an svg file. This path will be added as the src attribute. Click the Change icon button to select the uploaded image from Media Manager.

Label

If label is used, the input will be wrapped in the <ion-item> tag.
Text - label text.
Position - determines where and how the label behaves inside an item. The possible values are Inline, Fixed, Stacked or Floating.
Color - label Ionic color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Slot - label position in the ion-item tag (Start or End).

Reorder

Reorder properties:
Type - if set to Wrapper, the item will be wrapped into a reorder tag.
Icon - custom icon for reorder with a type Content.
Click the Default icon button to select the needed icon.
Custom SVG Icon - used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.

The date value is always formatted as yyyy-mm-dd.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The Mode property has been removed from the Icon section.

Styles Properties

Under the Styles tab, inputs can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Text Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Background Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Visit the Ionic documentation to read more about Inputs.

πŸ“˜

Input is used as List Item if any of the below properties are set:

  • Label Text is not empty;
  • Item Wrapper Color or Lines are set;
  • Reorder Type is Content or Wrapper.

Link

The Link component is used for navigating to a specified link. The component is based on Angular routing.

πŸ“˜

To enable using the Link component, the project routes should be specified. They can be defined in the Project settings under the Routing tab. The specified router names will be displayed in the dropdown list of the Route Name property.

Properties

By default, the Link component has the following properties:

Common Properties

Property Name

Property Description

Route Name

List of routes names defined on the Routing tab.

Route Params

Set the value of Route Params to pass some parameters in URL at navigation. Several values should be separated with commas (param1, param2, ...).

Text

The displayed link text.

Preset Mode

Specifies a mode with the properties that can be set.
There are different tags to be used for the link depending on the chosen Preset mode:
Ionic 5 or Custom that define what Container values will be preselected (see below for more details).

(click)

The event emitted when the link is clicked.

🚧

Using tags can be changed with the Container property. Only Ionic 5 components (beginning with ion- prefix) names can be used if the Ionic 5 mode is chosen.
For example, ion-text allows using such Ionic 5 features as Color, Mode or Router Direction.

The list of displayed properties can be expanded by choosing another Preset mode:
Ionic 5:

Property Name

Property Description

Container

Ionic 5 component used as the link (options: ion-text, ion-label, ion-note, or ion-badge).

Router Direction

When using a router, specifies the transition direction when navigating to another page using href: back, forward, root.

The Custom Preset Mode properties are the following:

Property Name

Property Description

Href

Contains a URL or a URL fragment that the hyperlink points to.
If this property is set, an anchor tag will be rendered.

Container

HTML tag used for the link: a, p, span, div.

Target

Specifies where to display the linked URL. Only applies when an href is provided: Blank, Self, Parent, Top.

Rel

Specifies the relationship of the target object to the link object.

Styles Properties

Under the Styles tab, links can be styled with several attributes to look like in a specific way:

Property Description

Property Description

Text Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Display

Set the display behavior (the type of rendering box) of an element by using the group of predefined buttons:
block - element starts on a new line and takes up the whole width
inline-block - element itself is formatted as an inline element but width and height values can be applied
inline - no height and width properties will have effect.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Text Align

Set the horizontal alignment of the text by using the group of predefined buttons:
align to the left
center
align to the right
justify - stretch the lines so that each line has equal width.

Font Size

Enter font size in px, %, em, vh, and vw.

Font Weight

Set the weight (or boldness) of the font: Normal or Bold.

Line Height

Set the height of a line box in px, %, em, vh, and vw. It's commonly used to set the distance between lines of text.

Font Style

Set whether a font should be styled with a Normal or Italic face.

Text Decoration

Set the appearance of decorative lines on text by using the group of predefined buttons:
specifies no line for the text
specifies that the line will be displayed under the text
specifies that the line will be displayed through the text.

Opacity

Set the opacity of an element. Opacity is the degree to which content behind an element is hidden.
Opacity value must be in range from 0 to 1.
Opacity value must be nonnegative.
Opacity value length can't be more than 10.

Background Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The property Download has been removed from the component's properties list.

List

By default, any new List component contains two List Items. To add a new List Item, click the + button inside the List.

Properties

The List component has the following properties:

Common Properties

Property Name

Property Description

Container

Define a container type for including items: Items list or Items group.

Under the Styles tab, lists can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Lines

Define how the bottom border should be displayed on the item: Full, Inset, None.

Inset

If set to True, the list will have a margin around it and rounded corners.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The property List has been renamed to Container.

Visit the Ionic documentation to read more about lists.

πŸ“˜

You can check this tutorial to learn how to build an Appery.io mobile app that displays a list of data from a cloud database.

List Item

The List Item component has the following properties:

Common Properties

Property Name

Property Description

Item Type

Used to change the Item role (Item Divider, Item Sliding, List Header).

Sliding Sides

Is visible if Item Type is set to Item Sliding.
Available sides of Item Sliding: Start, End, or Both.

Label

If set to True, adds a label to the list Item.

Sliding State

Is visible if Item Type is set to Item Sliding.
Switches a state of item sliding in the Visual Editor: Swipe Right or Swipe Left.

Routing

Route Name - list of routes names from the Routing panel.
Route Params - adds values for Route Params described in the Routing panel.
Router Direction - when using a router, it specifies the transition direction when navigating to another page using href: back, forward, root.

Link Features

Options for the component used as a link:
Download - this attribute instructs browsers to download a URL instead of navigating to it, so the user will be prompted to save it as a local file. If the attribute has a value, it is used as the pre-filled file name
Href - specifies the relationship of the target object to the link object.
Type - the type of the button: Submit, Reset, Button.
Target - specifies where to display the linked URL. Only applies when an href is provided: Blank, Self, Parent, Top.
Rel - specifies the relationship of the target object to the link object.

Styles Properties

Under the Styles tab, inputs can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Background Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Line Style

Define how the bottom border should be displayed on the item: Full, Inset, None.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Sticky

Is visible if Item Type is set to Item Divider.
When set to True, the item-divider will stay visible when it reaches the top of the viewport until the next ion-item-divider replaces it.

Button

If set to true, a button tag will be rendered and the item will be tappable.

Detail

If set to true, a detail arrow will appear on the item

Detail Icon

The icon to use when Detail is set to true.
Click the Default icon button to select a needed icon.

Custom SVG Icon

Is used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.

πŸ“˜

The property's Detail defaults are set to false unless the Mode is iOS and an Href, onclick or Button property is present.

The property Type is only used when an onclick or Button property is present.

The property Sliding State is used only in the Visual Editor to switch a state of Item Sliding. Use a doubleclick on the item Sliding to do the same action.

Navigation with Routing has a higher priority than Href.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The property Features has been removed with migrating all the data to the following components and properties:

  • The Item Type property has migrated to the List Item properties list.
  • The [Item Type](List Item) property with the Item Group value has migrated to the Container property of the List component.
  • The List Item section with the Item Type property set in the Item Reorder Group has transformed to the ReorderGroup component.
  • The section with the Item Type property set in the Item Radio Group has transformed to the RadioGroup component.
  • The Reorder Disabled property of the List Item has migrated to the ReorderGroup component.
  • The Sliding Sides property has migrated to the Item Type set as Item Divider Sliding.
  • The Sticky property has migrated to the Item Type set as Item Divider.

The property Download has been removed from under the Link Features additional menu.
Also, the Mode property has been removed from the Icon section (can be found for Item Options of the List Item component with its Item Type property set as Item Sliding.

Item Label

The Item Label component has the following properties:

Common properties

Property Name

Property Description

Text

List item label text.

Styles Properties

Under the Styles tab, item labels can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Text Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Position

Determine where and how the label behaves inside an item: Fixed, Stacked or Floating.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Text Align

Set the horizontal alignment of the text by using the group of predefined buttons:
align to the left
center
align to the right
stretch the lines so that each line has equal width.

Font Size

Enter font size in px, %, em, vh, and vw.

Font Weight

Set the weight (or boldness) of the font: Normal or Bold.

Line Height

Set the height of a line box in px, %, em, vh, and vw. It's commonly used to set the distance between lines of text.

Font Style

Set whether a font should be styled with a Normal or Italic face.

Text Decoration

Set the appearance of decorative lines on text by using the group of predefined buttons:
specifies no line for the text
specifies that the line will be displayed under the text
specifies that the line will be displayed through the text.

Opacity

Set the opacity of an element. Opacity is the degree to which content behind an element is hidden.
Opacity value must be in range from 0 to 1.
Opacity value must be nonnegative.
Opacity value length can't be more than 10.

Background Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

In the following example, a list has three list items with their item labels having different Position values (Fixed, Stacked, and Floating):

Check out how the components with different positions behave in the app:

Item Options

Set the List Item component's Item Type property to Item Sliding to open Item Options:

The Item Options component offers selecting from three Sliding Side values: Start, End or Both.

Adding Item Options

Click the + button on the Item Options to add a new Item Option:

Use double-clicking on the element to hide/show options.
The Item Option component has the following common properties:

Property Name

Property Description

Href

Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.

Icon

Style - click No icon to change the icon style by selecting a needed icon.
Name - allows changing Ionic 5 icon style dynamically by property binding to [name].
Color - the icon CSS color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Class - icon CSS classes.
Slot - the position determines where and how the icon behaves inside an element: Start, Top, Icon Only, Bottom, or End.
Custom SVG Icon - select an svg file. This path will be added as the src attribute.
Click the Change button to select the uploaded image from Media Manager.

(click)

Action to be triggered when the option is clicked.

Additionally, the following Item Option styling properties are grouped under the Styles tab:

Property Name

Property Description

Expandable

If set to True, the option will expand to take up the available width and cover any other options.

Option Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Text Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw:
All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

πŸ“˜

If you are interested in the detailed video tutorial that shows how to create a List - Details mobile application, please check this Appery.io Community link.

RadioGroup

The RadioGroup is a group of radiobuttons. It allows a user to select at most one radiobutton from a set. Checking one Radiobutton that belongs to a radio group unchecks any previously checked radiobutton within the same group.

The RadioGroup component is based on Ionic ion-radio-group.

The RadioGroup is a container including a RadioGroup Header and Radiobuttons. By default, the RadioGroup has 3 Radiobuttons. To insert more buttons, use the + button on the RadioGroup components or drag & drop a Radiobutton from the PALETTE to the Visual Editor canvas. Note that all Radiobuttons should have different value properties for correct work inside a RadioGroup.

You can add a header to your RadioGroup by setting the property Group Header to True.
To change the direction of radiobuttons, use the Buttons direction property. The Horizontal direction is set by adding a CSS class of the flexbox styles.

🚧

A header can not be added when the Horizontal direction is used.

If you use the RadioGroup as a Form Control, the properties Name and [(ngModel)] should be defined. In this case, the Name property defines a key name of form data, and the [(ngModel)] property defines the name of the variable containing sent data.

For dynamic value changing, use [(ngModel)] instead of the Value property. In this case, a variable name containing changing value data as the value of the [(ngModel)] property should be passed.

Using RadioGroup as a Form Control

RadioGroup becomes the Form Control if it is included in a Form component and has the Name property specified. In this mode, the component has additional properties (Initial Value, Control ID, Control options, and Validation that allow checking the validity, changing updating strategy, etc. These properties can be used only in the Form component that doesn't have the Native validation property enabled:

To use variables as the control's data, the advanced property [(ngModel)] should be specified - the variable name should be entered as the property value. It replaces the value that is set by the Initial Value property.
You can read more about validation in the Form section.

🚧

Note!

The component can't be used with array iteration data for creating a dynamic form structure. If you need to create such kind of structure, follow these recommendations.

Properties

The RadioGroup component has the following properties:

Common Properties

Property Name

Property Description

Value

The value of the radio group.

Name

The name of the control, which is submitted with the form data.

Empty Selection

If set to True, radios can be deselected.

Buttons direction

Use the CSS flexbox layout to set buttons direction (Vertical or Horizontal) of radio buttons.

Group Header

If set to True, adds a header of the radio group. Hidden if the Horizontal direction is chosen.

Initial Value

Default value of the control before it's been changed.

Control ID

Name of the control. Used in components properties as the variable containing the control state.

Control Options

Advanced Form Control options.
Update On - controls when the value or the validity is updated: Change, Blur, or Submit.
Standalone - when set to True, the component will not register itself with its parent form but act as if it's not in the form.

Validation

Show Validation Errors - validation errors will be shown with with the field value set to True.
Error Message Class - add your class name(s) to customize error messages.
Required - If set to True, the user must fill in a value before submitting a form.
Message for Required - add your custom error message for Required.

[(ngModel)]

Angular directive for data binding.

(ionChange)

The event emitted when the value has changed.

For dynamic changing value use [(ngModel)] instead of the Value property.

Styles Properties

Under the Styles tab, radio groups can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Width

Set the line width of an element's border in px, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw:
All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Display

Set the display behavior (the type of rendering box) of an element by using the group of predefined buttons:
block - element starts on a new line and takes up the whole width
inline-block - element itself is formatted as an inline element but width and height values can be applied
inline - no height and width properties will have effect.

Background Color

Select CSScolor from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

If you define the radio group Group Header property as True, the Radio Group Header component will become accessible having the additional common and styling properties under its Common and Styles tabs respectively:

Header Text - the header text shown.
Header Color - select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Text Color - select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Radiobutton

Radiobuttons are used as a set of related options inside of a group and cannot be used alone like it was in Ionic 4. Pressing on a radiobutton will check it.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

  • The separate Radiobutton component has been removed from the Components PALETTE and can be used only inside the parent RadioGroup component.
  • The List Item section with the Item Type property set in the Item Radio Group has transformed to the RadioGroup component.

Pressing a radiobutton will check it and uncheck the previously selected radiobutton, if there is one.

Properties

The Radiobutton component has the following properties:

Property Name

Property Description

Value

The value of the radiobutton.

Color

Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.

[(ngModel)]

Angular directive for data binding.

(ionSelect)

The event emitted when the radiobutton is selected.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The properties Checked, and ionSelect are removed.
Also, the (ionSelect) event is not available for Ionic 5. So, if your Ionic 4 app had a selected value, it will be emitted with the Value property on the condition that the Value property for the Radiobutton component is defined and the Value property for RadioGroup is not defined.

To make the Radiobutton checked, the Value property of the Radiobutton should be the same as the one of the Radiogroup:

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

If mapping was used for the Checked property of the component, it will be deleted as there is no such property in Ionic 5.

When the Item Wrapped property is set to True, the component will be included in the item with additional properties:

Property Name

Property Description

Item Wrapper

If the item wrapper features are used, the input will be wrapped in the <ion-item> tag.
Color - select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Lines - define how the bottom border should be displayed on the item. The available options are Full, Inset or None.

Label

If the label is used, the input will be wrapped in the <ion-item> tag.
Text - label text.
Position - determines where and how the label behaves inside an item. The possible values are Fixed, Stacked or Floating.
Color - select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.

πŸ“˜

Using the following properties makes Radiobutton to a List Item:

  • Label Text is not empty;
  • Item Wrapper Color or Lines are set;
  • Reorder Type is Content or Wrapper.

Visit the Ionic documentation to read more about Radiobuttons.

Range

The Range slider lets users select from a range of values by moving the slider knob. It can accept dual knobs, but by default one knob controls the value of the range

The component is based on Ionic ion-range.

Using Range as a Form Control

If included in a Form component, Range becomes a Form Control; the Name property should be specified (by default, the Name property is defined as the Component name property, so change it if necessary):

🚧

Use the following description only when the Form component has the disabled Native validation property. If the Native validation property is enabled the control can be used as a default HTML Form Control.

To set the initial value of the control, use the Initial Value property of the Form Control properties section.

The component can have a number value (e.g. 20) or an object value if the Dual Knobs property is True (e.g. { lower: 20, upper: 80 }). If the property isn't specified the initial value will be set to null.

To use variables as the control's data, the advanced property [(ngModel)] should be specified - the variable name should be entered as the property value. It replaces the value that is set by the Initial Value property.

The component can get additional properties (Control ID and Control options) that allow checking the validity, changing updating strategy, etc. These properties can be used if the Native Validation property is disabled for the Form component.
Read more about validation in the Form section.

🚧

Note!

The component can't be used with array iteration data for creating a dynamic form structure. If you need to create such kind of structure, follow these recommendations

Properties

The Range component has the following properties:

Common Properties

Property Name

Property Description

Value

The value of the range.

Name

The name of the control, which is submitted with the form data.

Color

The color to use from your application's color palette.
Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.

Dual Knobs

Show two knobs by setting the value to True.

Max

Maximum integer value of the range.

Min

Minimum integer value of the range.

Step

Specify the value granularity.

Pin

If set to True, a pin with integer value is shown when the knob is pressed.

Snaps

If set to True, the knob snaps to tick marks evenly spaced based on the step property value.

Ticks

If set to True, tick marks are displayed based on the step value. Only applies when Snaps is set to True.

Debounce

Set for how long, in milliseconds, to wait to trigger the ionChange event after each change in the range value.

Left (Right) Label

Properties of a label added on the left (right) side of the range:
Class - defines equal styles for elements with the same class name
Color - select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Mode - determines which platform styles to use. Possible values are: iOS or MD.
Text - the displayed label text.

Left (Right) Icon

Properties of an icon added on the left (right) side of the range:
Style - Ionic 5 name of the icon used.
Name - allows changing Ionic 5 icon style dynamically by property binding to the [name] element property. You can use string (Ionic 5 Icon name e.g. 'star') or a variable name.
Class - CSS classes for the icon.
Color - the color to use from your application's color palette. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Mode - determines which platform styles to use. Possible values are: iOS or MD.

[(ngModel)]

Angular directive for data binding. Contains a variable with the current value of the group.

(ionChange)

The event emitted when the value has changed.

When the Item Wrapped property is set to True, the component will be included in the Item with additional properties:

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The Mode property has been removed from the Icon section (Left (Right) Icon).

Property Name

Property Description

Item Wrapper

Color - item wrapper Ionic 5 color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Disabled - if set to true, the user cannot interact with the component. The default is set to False.
Lines - defines how the bottom border should be displayed on the item. The available options are Full, Inset or None.
Mode - determines which platform styles to use. Possible values are iOS or MD.
Class - defines equal styles for elements with the same class name.
Slot - position inside another component: Fixed.

Reorder

Type - Content or Wrapper. If Wrapper is used, the item will be wrapped into a Reorder tag.
Icon - custom icon for Reorder with a type Content. Click the Default icon button to select the needed icon.
Slot - position inside the item: Start or End.
Custom SVG Icon - used to select an .svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.

Styles Properties

Under the Styles tab, Range components can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Range Color

Set a common color scheme of the range - select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Bar

Background Color - select CSS color of the range bar from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Background Color Active - select the background of the active range bar: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Border Radius - border radius of the range bar in px, %, em, vh, and vw.
Height - height of the range bar in px, %, em, vh, and vw.

Knob

Background Color - select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Border Radius - border radius of the range knob in px, %, em, vh, and vw.
Size - size of the range knob in px, %, em, vh, and vw.

Pin

Background Color - select CSS background color of the range pin from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Text Color - select CSS color of the range pin from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Reorder

Reorder is a component that allows an item in a group of items to be dragged to change its order within that group and is based on the Ionic ion-reorder.
Reorder components are generally used as a set of related options inside of a group.

Properties

The Reorder component has the following properties:

Property Name

Property Description

Type

Is used to determine the default composition of the elements within the ReorderGroup.
Set the Type value to Content to be able to move components inside the ReorderGroup using a special two-line icon, with interaction for each component available.
With Type set to Wrapper, components within the ReorderGroup will move using the entire Reorder with no interaction available for the included components.
Please see the below example for details.

Example with modifying Reorder Type Property

In this example, we have a Reorder Group with three Reorder components each nesting one UI component: Checkbox, Datetime and Input.
For the Checkbox Reorder and the Input Reorder components, Type is set to Content:

**Checkbox Reorder Type** = ***Content*****Checkbox Reorder Type** = ***Content***

Checkbox Reorder Type = Content

However, the Type property is set to Wrapper for the Datetime Reorder component:

**Datetime Reorder Type** = ***Wrapper*****Datetime Reorder Type** = ***Wrapper***

Datetime Reorder Type = Wrapper

Check out the different behavior for the nested UI components:

πŸ‘

Important!

Under the EVENTS tab, for the ReorderGroup component, the Item reorder > Reorder complete action should be defined and saved:

🚧

Note!

The space of the Reorder component with Type = Content looks smaller than the space of the child components added to the ReorderGroup or inside a Reorder component with Type = Wrapped.

This relates to the UI components with the Item Wrapper property set to True only!

To fix this behavior, all you need to do is set Item Wrapped = False (or use Class) to set the desired look for a component:

As a result, the component space extends:

Check out the example with three Input components:

  • Input2 placed inside a Reorder component with its Item Wrapped property set to True:
  • Input3 that is also placed inside a Reorder component but with its Item Wrapped property changed to False:

πŸ‘

Tip!

As you might have noticed, after applying the changes above, the Input3 component appears without its label. So, if you need to recover the look of the modified component but having the bigger input field, you can add, for example, a Text component to the parent Reorder component:

πŸ“˜

Want to know more?

We also have the app template introducing all Ionic 5 UI components.
If interested, please check out this section where you can find detailed step-by-step instructions that will walk you through the process of creating a ReorderGroup page in an Ionic 5 project

An Ionic ion-reorder-group can be used to group a set of Reorder components.

ReorderGroup

The ReorderGroup is a group of Reorder components. It allows a user to select at most one Reorder component from a set. Checking one Reorder component that belongs to a reorder group unchecks any previously checked Reorder component within the same group.

ReorderGroup is a wrapper component for items using the ion-reorder component and is based on the Ionic ion-reorder-group.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

  • The List Item section with the Item Type property set in the Item Reorder Group has transformed to the ReorderGroup component.
  • The Reorder Disabled property of the Ionic 4 List Item has migrated to the ReorderGroup component.

Property Name

Property Description

(ionItemReorder)

The event that needs to be listened to in order to complete the reorder action. Once the event has been emitted, the complete() method then needs to be called in order to finalize the reorder action.

Search

Searchbars represent text fields that can be used to search through a collection. They can be displayed inside of a toolbar or the main content.

Search should be used instead of an Input to search lists. A clear button is displayed upon entering input in the searchbar's text field. Clicking on the clear button will erase the text field and the input will remain focused. A cancel button can be enabled which will clear the input and lose the focus upon clicking.

Properties

The Search component has the following properties:

Common Properties

Property Name

Property Description

Value

The searchbar value.

Placeholder

Instructional text that shows before the input has a value. The default is set to Search.

Search Icon

The icon to be used as the search icon. The default is to search.
Click the Default icon button to select the icon.

Custom Search Icon

Select an svg file. This path will be added as the 'src' attribute. Click the Change button to select to select the uploaded image from Media Manager.

Animated

If set to true, enables the search bar animation. The default is set to false.

Autocomplete

Indicates whether the value of the control can be automatically completed by the browser. The values are On and Off (default).

Autocorrect

Indicates whether auto correction should be enabled when the the text value is being entered/edited. The values are On and Off (default).

Enter Key Hint

An input attribute that specifies what action label or icon to present for the enter key on virtual keyboards: Enter, Done, Go, Next, Previous, Search, Send.

Input Mode

An input attribute indicating which type of keyboard to display: None, Decimal, Email, Numeric, Search, Tel, Text, Url.

Spellcheck

If set to true, enables spellcheck on the input. The default is set to false.

Debounce

Indicates how long, in milliseconds, to wait to trigger the ionInput event after each keystroke. The default is set to 250.

Clear Icon

Sets the clear icon. The default is to close-circle for iOS and close for MD.
Click the Default icon button to select the icon.

Custom Clear Icon

Select an svg file. This path will be added as the 'src' attribute. Click the Change button to select to select the uploaded image from Media Manager.

Type

Sets the input type of control to display. The values are Text, Password, Email, Number, Search (default), Tel, Url.

Is Focus

If set to True, shows the searchbar when it has focus. Works in the visual editor only.

Cancel Button

Set the behavior for the cancel button. Can be boolean (true or false) or string.
Icon - sets the cancel button icon. Only applies to the MD mode. The default is set to md-arrow-back. Click the Default icon button to select the icon.
Custom Icon - select an svg file. This path will be added as the 'src' attribute. Click the Change button to select to select the uploaded image from Media Manager.
Text - set the cancel button text. Only applies to iOS mode. The default is set to Cancel.
Show - set the behavior for the cancel button: Never (default), Always, Focus.

(ionBlur)

Emitted when the search is blurred.

(ionChange)

Emitted when the value has changed.

(ionClear)

Emitted when the clear button is clicked.

(ionFocus)

Emitted when the search has focus.

(ionInput)

Emitted when the keyboard input ocurrs.

Styles Properties

Under the Styles tab, searchbars can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Searchbar Color

Set the color of searchbar by selecting from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or using the Color-picker.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Text Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Visit the Ionic documentation to read more about searchbars.

Select

Selects are Form Controls used to select an option (or options) from a set of options, similar to a native ion-select element. When the select is tapped, a dialog appears with all of the options in a large, easy to select list.
A select should be used with child ion-select-option elements. If the child option is not given a value attribute, then its text will be used as the value.
If the value is set on the ion-select, the selected option will be chosen based on that value. Otherwise, the selected attribute can be used on the ion-select-option.

πŸ“˜

Basics about working with the Select component

You can find more information on how to work with Select here.

Using Select as a Form Control

The component is the Form Control of Angular form when:

  • it is included into the Form component
  • the Form has the Native validation property disabled (is set to False)
  • it doesn't have the Standalone option under Control Options enabled
  • the component has the property Name specified:

In this mode, the component has additional properties (Initial Value, Control ID, Control options, and Validation that allow checking the validity, changing updating strategy, etc. These properties can be used only in the Form component that doesn't have the Native validation property enabled.

If the Native validation property is enabled, the control can be used as a default HTML Form Control.
By default, the Name property is set as the Component name property and can be customized.
To set the initial value of the control, use the Initial Value property of the Form Control properties section.
The component can have only string values or null. If the property isn't specified, the initial value will be set to null.

To use variables as the control's data, the advanced property [(ngModel)] should be specified - the variable name should be entered as the property value. It replaces the value that is set by the Initial Value property.
As a Form Control, the component can get additional properties (Control ID and Control options) that allow checking the validity, changing updating strategy, etc. These properties can be used if the Native Validation property is disabled for the Form component.
Read more about validation in the Form section.

🚧

Note!

The component can't be used with array iteration data for creating a dynamic form structure. If you need to create such kind of structure, follow these recommendations.

Properties

The Select Item Wrapper (ion-item) component has the following properties:

Property Name

Property Description

Item Wrapped

If set to True, the component will be included in the item with additional properties

Color

The color to use from your application's color palette. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name. Defaults are set to primary.

Lines

How the bottom border should be displayed on the item. The available options are Full, Inset or None.

Label

If label is used, the input will be wrapped in the<ion-item> tag.
Text - label text.
Position - the position determines where and how the label behaves inside an item. Possible values are Fixed, Stacked or Floating.
Color - label Ionic 5 color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.

Reorder

Type - Content or Wrapper. If Wrapper is used, the item will be wrapped into a reorder tag.
Icon - custom Icon for reorder with a type Content. Click the Default icon button to select the icon.
Slot - position inside the item.
Custom SVG Icon - an svg file can be selected. This path will be added as the src attribute. Click the Change button to select to select the uploaded image from Media Manager.

Adding Select

Click the + button on the Select Item Wrapper to add a new Select:

The Select component has the following properties:

Common Properties

Property Name

Property Description

Placeholder

The text to display when the select is empty.

Selected Text

The text to display instead of the selected option's value.

Cancel Text

The text to display on the Cancel button. Defaults are set to Cancel.

Compare with

A property name or function used to compare object values.

OK Text

The text to display on the OK button. Defaults are set to OK.

Multiple

If set to True, the select can accept multiple values.

Interface

The interface the select should use: Action Sheet*, Popover, or Alert (default).

Interface Options

Any additional options that the interface can take.

Opened

This property is available only for development mode. Defaults are set to False.

[(ngModel)]

Angular directive for data binding.

(ionBlur)

Emitted when the search is blurred.

(ionCancel)

The event emitted when the value has canceled.

(ionChange)

Emitted when the value has changed.

(ionFocus)

Emitted when the search has focus.

πŸ“˜

The property Opened is used only in the Visual Editor for switching between the opened and closed states of the Select component.

Visit the Ionic documentation to read more about <ion-select>.

Styles Properties

Under the Styles tab, selects can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Text Color

Select text color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Background Color

Select background color of an element from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

πŸ‘

Note!

To get access to the advanced properties organized in the Form Control section, make sure the Select is used as a Form Control (placed inside the Form component) and is selected:

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

The Selected property has been removed from the Select Option section.

Also, if your Ionic 4 app had a selected value, it will be emitted with the Value property on the condition that the Value property for the Select Option is defined and the Value property for the Select is not defined.

Adding Select Option

Click the + button on the Select to add a new Select Option:

Use double-clicking on the select to show options:

The Select Option (ion-select-option) component has the following properties:

Property Name

Property Description

Value

The select option value.

Text

The select option text.

πŸ“˜

Note!

To make the Select Option checked, the Value property of the Select Option should be the same as the one of the Select component:

πŸ“˜

Note!

To get multiselect for the Select component, provide the needed values inside the [] for the Value property:

Visit the Ionic documentation to read more about <ion-select-option>.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

If you select to migrate your project from Ionic 4 to Ionic 5, be informed that the following might require you to make changes to your application in order to avoid disruption to your integration:

If Mapping was used for the Selected property of the component, it will be deleted as there is no such property in Ionic 5.

Spinner

The Spinner component provides a variety of animated SVG spinners. Spinners are visual indicators that the app is loading content or performing another process that the user needs to wait on.

The default spinner to use is based on the platform. The default spinner for iOS is lines, and the default for Android is circular. If the platform is neither iOS nor Android, the spinner will be set default to circular. If the Name property is set, the spinner will be used instead of the platform-specific spinner.

Properties

The Spinner component has the following properties:

Common Properties

Property Name

Property Description

Spinner Name

The name of the SVG spinner to use. If a name is not provided, the platform's default spinner will be used. Possible values are: lines, lines-small, dots, bubbles, circles, crescent, circular.

Duration

Duration of the spinner animation in milliseconds. The default varies based on the spinner.

Paused

If set to true, the spinner's animation will be paused. Defaults are set to false.

Styles Properties:

Property Name

Property Description

Spinner Color

Select spinner color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Background Color

Select background color of an element from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Visit the Ionic documentation to read more about Ionic 4 Spinner.

Text

The Text component is a simple component that can be used to style the text color of any element. The ion-text element should wrap the element in order to change the text color of that element.

Properties

Setting the Text component properties can be done from under Common and/or Styles tabs:

Common properties:

Property Name

Property Description

Container

You can use Ionic 5 container to create Ionic 5 text component: ion-text, ion-note, ion-badge, ion-label, ion-card-title, ion-card-subtitle, span, p, div, a, h1-h6. If these containers are used, text styles will be changed to Ionic 5. Here, HTML tags are selected as text containers.

Text

A component property where the content is to be entered. This field can’t be empty. HTML tags are not supported. Multiline text is supported (lines will be separated with br tag).

Any HTML element can be used as the Container property value.
For the ion-label container, an advanced property Position with values Fixed, Stacked or Floating can be added. Check how it works for List item labels here.

The property Slot can be used as an advanced property.

πŸ“˜

The properties Color and Mode work only when Ionic 5 wrapper (e.g. ion-label) is used.

For the ion-label container an advanced property Position with values fixed, stacked or floating can be added.

🚧

The component can include only one Text component as a child. Use the HTML component if you need complex structure.

Styles Properties:

Property Name

Property Description

Text Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Display

Set the display behavior (the type of rendering box) of an element by using the group of predefined buttons:
block - element starts on a new line and takes up the whole width
inline-block - element itself is formatted as an inline element but width and height values can be applied
inline - no height and width properties will have effect.

Margin

Set the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Width

Set the line width of an element's border in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Border Style

Set the line style of an element's border.
Available values are: Solid, Dotted, Dashed, and Double.

Border Color

Select the line style of an element's border from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Border Radius

Round the corners of an element's outer border edge in px, %, em, vh, and vw: All sides, Top Left, Top Right, Bottom Left, Bottom Right.

Text Align

Set the horizontal alignment of the text by using the group of predefined buttons:
align to the left
center
align to the right
stretch the lines so that each line has equal width.

Font Size

Enter font size in px, %, em, vh, and vw.

Font Weight

Set the weight (or boldness) of the font: Normal or Bold.

Line Height

Set the height of a line box in px, %, em, vh, and vw. It's commonly used to set the distance between lines of text.

Font Style

Set whether a font should be styled with a Normal or Italic face.

Text Decoration

Set the appearance of decorative lines on text by using the group of predefined buttons:
specifies no line for the text
specifies that the line will be displayed under the text
specifies that the line will be displayed through the text.

Opacity

Set the opacity of an element. Opacity is the degree to which content behind an element is hidden.
Opacity value must be in range from 0 to 1.
Opacity value must be nonnegative.
Opacity value length can't be more than 10.

Background Color

Select the background color of an element from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Visit the Ionic documentation to read more about Text.

Textarea

The Textarea component is used for multi-line text input. A native Textarea element is rendered inside of the component. The user experience and interactivity of the Textarea component is improved by having control over the native Textarea.

Unlike the native Textarea element, the Ionic Textarea does not support loading its value from the inner content. The Textarea value should be set in the value attribute.

The Textarea component accepts the native Textarea attributes in addition to the Ionic properties.

Properties

Setting the Textarea component properties can be done from under Common and/or Styles tabs:

Common Properties

Property Name

Property Description

Placeholder

Instructional text that shows before the input has a value.

Cols

The visible width of the text control, in average character widths. If it is specified, it must be a positive integer.

Rows

The number of visible text lines for the control.

Value

The textarea value.

Name

The name of the control, which is submitted with the form data.

Auto Grow

If set to true, the element height will increase based on the value.

Debounce

The amount of time set in milliseconds, to wait to trigger the ionChange event after each keystroke. This also impacts form bindings such as ngModel or v-model. The default is set to 0.

Readonly

If set to true, the value cannot be modified.

Wrap

Indicates how the control wraps text: Hard, Off or Soft.

[(ngModel)]

Angular directive for data binding.

(ionBlur)

The event emitted when the input option is blurred.

(ionChange)

The event emitted when the input value has changed.

(ionFocus)

The event emitted when the input option has focus.

(ionInput)

The event emitted when a keyboard input occurs.

Textarea Features Properties

Property Name

Property Description

Autocapitalize

Indicates whether and how the text value should be automatically capitalized while being entered/edited by the user.

Autofocus

This Boolean attribute allows specifying that a form control should have input focus when the page loads. Defaults are set to false.

Clear On Edit

If set to true, the value will be cleared after focus upon edit.

Enterkeyhint

A hint to the browser for which enter key to display. Possible values: enter, done, go, next, previous, search, and send.

Inputmode

A hint to the browser for which keyboard to display. Possible values: none, text, tel, url, email, numeric, decimal, and search.

Maxlength

This attribute specifies the maximum number of characters that can be entered.

Minlength

This attribute specifies the minimum number of characters that can be entered.

Required

If set to true, the user must fill in a value before submitting a form.

Spellcheck

If set to true, the user must fill in a value before submitting a form.

When the Item Wrapped property is set to True, the component will be included in the Item with additional properties:

Property Name

Property Description

Item Wrapper

If the item wrapper features are used, the textarea will be wrapped in the ion-item tag.
Color - item wrapper Ionic 5 color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Lines - how the bottom border should be displayed on the item. Available options are Full, Inset or None.

Icon

Button Ionic 5 icon.
Name - allows changing Ionic 5 icon style dynamically by property binding to [name]. You can use string (Ionic 5 Icon name e.g. star) or variable names.
Color - select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Slot - icon position in the ion-item tag (Start or End).
Style - Ionic 5 icons. Click the No icon button to select the needed icon.
Custom SVG Icon - used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.

Label

If label is used, the input will be wrapped in the <ion-item> tag.
Text - the displayed label text.
Position - determines where and how the label behaves inside an item. The possible values are Fixed, Stacked or Floating.
Color - label Ionic color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.

Reorder

Reorder properties:
Type - if set to Wrapper, the item will be wrapped into a reorder tag.
Icon - custom icon for reorder with the Content type. Click the Default icon button to select the needed icon.
Custom SVG Icon - used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.

Styles Properties

Property Name

Property Description

Text Color

Select CSS color from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Margin

Sets the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Background Color

Select the background color of an element from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Visit the Ionic documentation to read more about Textarea.

Toggle

The Toggle component changes the state of a single option. They can be switched on or off by pressing or swiping. They can also be checked programmatically by setting the Checked property.

Using Toggle as a Form Control

The component is the Form Control of Angular form when:

  • it is included into the Form component
  • the Form has the Native validation property disabled (is set to False)
  • it doesn't have the Standalone option under Control Options enabled
  • the component has the property Name specified:

🚧

Use the following description only when the Form component has the disabled Native validation property. If the Native validation property is enabled the control can be used as a default HTML Form Control.

To set the initial value of the control use the Initial Value property of the Form Control properties section. The component can have only boolean (true or false) values or null. If the property isn't specified the initial value will be null.

To use variables as the control's data, the advanced property [(ngModel)] should be specified - the variable name should be entered as the property value. It replaces the value that is set by the Initial Value property.

As a Form Control, the component can get additional properties (Control ID and Control options) that allow checking the validity, changing updating strategy, etc. These properties can be used if the Native Validation property is disabled for the Form component.
Read more about validation in the Form section.

🚧

Note!

The component can't be used with array iteration data for creating a dynamic form structure. If you need to create such kind of structure, follow these recommendations

Properties

The Toggle component has the following properties:

Common Properties

Property Name

Property Description

Value

The value of the toggle does not mean if it is checked or not, use the checked property for that. The value of a toggle is analogous to the value of a <input type=checkbox>, it is only used when the toggle participates in a native form. The default is set to on.

Checked

If set to true, the toggle is selected. The default is set to false.
Not available if toggle is included into the Form component.

[(ngModel)]

Angular directive for data binding.

(ionChange)

The event emitted when the value has changed.

When the Item Wrapped property is set to True, the component will be included in the Item with additional properties:

Property Name

Property Description

Item Wrapper

If the item wrapper features are used, the toggle will be wrapped in the ion-item tag.
Color - item wrapper Ionic 5 color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.
Lines - how the bottom border should be displayed on the item. Available options are Full, Inset or None.

Label

If label is used, the input will be wrapped in the <ion-item> tag.
Text - the displayed label text.
Position - determines where and how the label behaves inside an item. The possible values are Fixed, Stacked or Floating.
Color - label Ionic color. Select from the predefined value types (primary, secondary, tertiary, success, warning, danger, light, medium and dark) or enter your custom color name.

Reorder

Type - if set to Wrapper, the item will be wrapped into a reorder tag.
Icon - custom icon for reorder with a type Content. Click the Default icon button to select the needed icon.
Custom SVG Icon - used to select an svg file. This path will be added as the src attribute. Click the Change button to select the uploaded image from Media Manager.

Styles Properties

Under the Styles tab, toggles can be styled with several attributes to look like in a specific way:

Property Name

Property Description

Margin

Sets the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Handle

Toggle handle properties:
Border Radius - border radius of the toggle handle in px, %, em, vh, and vw
Color - select background color of the toggle handle from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Color Checked - select background color of the toggle handle when checked from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Handle Width in px, %, em, vh, and vw
Max Height in px, %, em, vh, and vw
Spacing - horizontal spacing around the toggle handle in px, %, em, vh, and vw.

Track

Toggle track properties:
Border Radius - border radius of the toggle track in px, %, em, vh, and vw
Color - select background color of the toggle track from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.
Color Checked - select background color of the toggle track when checked from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Visit the Ionic documentation to read more about Ionic 5 Toggle.

Toolbar

The Toolbar component contains a Toolbar Title and a Toolbar Buttons components.

πŸ“˜

By default, any new page is created with its Header and Footer that, in their turn, contain the following child components: Toolbar, Toolbar Title, and Toolbar Buttons.
Check this section below to learn more about the Header and Footer components.

Toolbars are positioned above or below content. When a toolbar is placed in an <ion-header> it will appear fixed at the top of the content, and when it is in an <ion-footer> it will appear fixed at the bottom. The fullscreen content will scroll behind a toolbar in a header or footer. When placed within an <ion-content>, toolbars will scroll with the content.

Properties

Setting the Toolbar component properties can be done from under Common and/or Styles tabs:

Styles Properties

Property Name

Property Description

Toolbar Color

Select the color of the toolbar from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Margin

Sets the margin area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

Padding

Set the padding area of an element in px, %, em, vh, and vw: All sides, Top, Right, Bottom, Left.

🚧

Ionic 4 > Ionic 5 Migration: Breaking Changes!

Toolbar styles can impact the styles of the nested components so be informed that the following might require you to make changes to your application in order to avoid disruption to your integration.

Visit the Ionic documentation to read more about Ionic 5 Toolbar.

Toolbar Title

The Toolbar Title component has the following property:

Property Name

Property Description

Toolbar Title Color

Select the color of the toolbar title from the available colors: Primary, Secondary, Tertiary, Success, Warning, Danger, Light, Medium, Dark, and Custom or use the Color-picker.

Text

Toolbar title text.

Size

Toolbar title size: Small or Large

Toolbar Buttons

To add a new Toolbar Buttons section, click the + button inside the Toolbar:

The Toolbar Buttons component is a container element. The buttons placed in a toolbar should be placed inside of the <ion-buttons> element.

The <ion-buttons> element can be positioned inside of the toolbar using a named slot.
The Toolbar Buttons component has the following properties:

Property Name

Property Description

Slot

The position inside the toolbar (Start (default), End, Primary or Secondary).

Collapse

If set to True, buttons will disappear when its parent toolbar has fully collapsed if the toolbar is not the first toolbar. If the toolbar is the first toolbar, the buttons will be hidden and will only be shown once all toolbars have fully collapsed. Only applies in IOS mode with Collapse set to True on ion-header.

Visit the Ionic documentation to read more about Ionic 5 Toolbar Buttons.

Use the property Menu Button to add or remove a menu button (added by dragging & dropping the [Button](Button) component to the Toolbar Button) into the Toolbar.


Did this page help you?