Ionic 4 UI Components Properties

Overview of the Ionic 4 UI components and their properties available in the visual App Builder

🚧

Important Note!

Note that the option of creating new apps with the Ionic 4 framework was removed and we no longer support the projects that were created with it earlier.
Moreover, you are free to effortlessly migrate your Ionic 4 project(s) to their Ionic version with keeping both apps active.
Please check this page to learn how to do it.

Introduction

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

303

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

1593

Properties of the Button component

PROPERTIES Overview

Every component has a set of properties some of which are general, 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.
Here is the description of the properties that can be defined for most 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 properties; some are general, others are specific to particular components. General properties belonging to most components available in the Visual App Builder include:

Property NameProperty Description
ClassList classes here.
ColorColor to use from your application's color palette.
Value types: primary, secondary, tertiary, success, warning, danger, light, medium, dark).
Component NameThe 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.
DisabledEvery 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.
IconSome components support icons. To choose the icon you need, expand Icon and click the No icon button for Style.
Attribute nameA new attribute value.
ModeDetermines which platform styles to use. Possible values are iOS or MD.
SlotPosition inside another component. It can be set to Fixed.
Some components can have different settings: Start or End.

📘

You can select and manage components using Breadcrumbs or the OUTLINE view.

Button

Buttons provide clickable elements used in forms or anywhere where simple, standard button functionality is required.

Properties

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. Buttons can be styled with several attributes to look a specific way:

Property NameProperty Description
Back ButtonDefault Href - the URL to navigate back to by default when there is no history.
Icon - icon name to use for the back button;
Click the Default icon button to select an icon, or leave it to default.
Text - text to display in the back button.
Button TypeClick to select between Button (default) or Bar Button.
ComponentUse 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.
ExpandSet to Block for a full-width button or to Full for a full-width button without left and right borders.
FillSet to Solid or select Clear for a transparent button, or Outline for a transparent button with a border.
IconMakes a button look like an icon. This property converts the button to an icon by changing its Style property and ignoring the Text property.
Name allows changing Ionic 4 icon style dynamically by property binding to [name].
Slot - position inside the button: Icon only, Start, End.
Style - click No icon to change the icon style by selecting a needed icon.
Mode - determines which platform styles to use. Possible values are iOS or MD.
Link FeaturesOptions for the component to be 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.
Menu ButtonAuto Hide - automatically hides the menu button when the corresponding menu is not active.
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.
RoutingRoute 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.
ShapeSetting to Round makes the button rounded.
SizeSelect the preferred button size: Small, Defaultor Large.
StrongIf set to True, activates a button with a heavier font weight.
TextButton text.
(click)Action to be triggered when the button is clicked.

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:

Property NameProperty Description
ButtonIf set to True, a button tag will be rendered and the card will become tappable.
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.
RoutingRoute 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.

Card ltem

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

Property NameProperty Description
TextCard item text.
Visible if the card Item has no child elements.
TranslucentIf set to True, the card header will be translucent.
TypeClick to select card content type:
Card content or Card header.
Properties Color and Translucent are used only with Card Headers.

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:

Title TextContent title text. Visible if Title has no child elements.
TypeClick to select the card title type: Card Title or Card Subtitle.

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 the demo app showing 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 NameProperty Description
Auto init ChartIf set to true, the Chart component is automatically initiated.
ClassAdds CSS classes for chart wrapper (class will not modify the chart canvas).
LabelsThe 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.
TypeSelect the type of chart to be created:
line (default), bar, horizontal bar, radar, pie, doughnut, polarArea, bubble, scatter,mixed.
Show Advanced PropertiesIf 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 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

Please check our Chart component documentation to learn more.

🚧

All Elements properties are global properties for the selected Chart type.
If you want to learn more, check the documentation for:

  • Line, Scatter (Line/Point Elements properties)
  • Radar/Bubble (Point Elements properties)
  • Bar, Horizontal Bar (Rectangle Elements properties)
  • Pie/Doughnut/PolarArea (Arc Elements properties).

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 NameProperty Description
DataThe list of data value(s).
Legend LabelThe label for the dataset which appears in the legend and tooltips.
Not available for Polar Area, Pie and Doughnut chart types.
OrderThe drawing order of dataset. Also affects order for stacking, tooltip, and legend.
Not available forPolar Area, Pie and Doughnut chart types.
Axis IDX 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.

📘

You can check our Chart component documentation page to learn about the properties specific to different chart types.

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 radial axes. You can learn more about radial charts Axes Options here.

🚧

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.
X/Y Axes Options have the following properties:

Property NameProperty Description
ScalesDisplay - 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 or
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 LinesThe 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).
LabelDisplay - 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.
TicksAuto 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!

📘

You can also check this Appery.io community video that shows how to draw a line chart in an Ionic 4 app.

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

🚧

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.

📘

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).

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:

Property NameProperty Description
IndeterminateIf set to True, the checkbox will visually appear as indeterminate. The default is set to false.
CheckedIf set to true, the checkbox is selected. The default is set to false.
NameThe name of the control, which is submitted with the form data.
ValueUsed 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.

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 NameProperty Description
Column ModeColumn 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.
CountEnter 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.
Css ClassesCustom 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.
Data ModeData 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.
Display CheckCan 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 SortingTo be used instead of client-side sorting. The default is set to False.
Footer HeightThe minimum footer height in pixels. This property is used for calculating the dimensions of the table size.
Pass false value for no footer.
Header HightMinimum 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.
LimitIs 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).
MessagesStatic 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.
OffsetThe 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,
ReorderableEnables/disables the ability to re-order columns by dragging them. Value type: boolean. The default value is set to True.
Row ClassThe 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' } }
Row HeightIs 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.
RowsAn 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.
ScrollbarHEnables / disables horizontal scrollbars. The default value is set to False.
ScrollbarVIs 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.
Selection TypeThe 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.
SortsIs 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).
Table HeightSets 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.
ThemeSets 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.
(select)Action to be triggered when the component is selected.

📘

Please check these tutorials that explain how to use ngx-datatable in Ionic 4 apps:
https://docs.appery.io/docs/ionic-4-ngx-datatable-sample-tutorials.

DataTableCol

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

Property NameProperty Description
Can Auto ResizeWhether the column can automatically resize to fill extra space. The default is set to True.
Cell ClassCell classes to apply to the body cell.
Cell templateClick the Edit button to access the HTML editor. Angular TemplateRef allows authoring custom body cell templates.
CheckboxableIndicates whether the column should show a checkbox component for selection. Only applicable when the selection mode is Checkbox.
DraggableDefines if the column can be dragged to re-order. The default is set to True.
Flex GrowThe 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.
Frozen LeftDetermines if the column is frozen to the left.
Frozen RightDetermines if the column is frozen to the right.
Header CheckboxableIndicates whether the column should show a checkbox component in the header cell. Only applicable when the selection mode is Checkbox.
Header ClassHeader CSS classes to apply to the header cell.
Header TemplateClick the Edit button to access the HTML editor. Angular TemplateRef allows authoring custom header cell templates.
Max WidthThe maximum width of the column in pixels.
Min WidthThe minimum width of the column in pixels. The default is set to 100.
NameColumn label. If none is specified, it will use the prop value and decimalize it.
PropertyThe property to bind the row values to. If undefined, it will camelcase the name value.
ResizeableThe column can be resized manually by the user. The default is set to True.
SortableSorting of the row values by this column. The default is set to True.
WidthThe width of the column by default in pixels. The default is set to 150.

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:

Property NameProperty Description
ValueThe value of the datetime as a valid ISO 8601 datetime string.
Click the Calendar icon to set the needed value.
PlaceholderInstructional text that shows before the datetime has a value.
DisabledEvery 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. The default is set to False.
ReadonlyIf set to True, the value can not be modified. The default is set to False.
MinThe minimum datetime allowed. Click the Calendar icon to set the needed value.
MaxThe maximum datetime allowed. Click the Calendar icon to set the needed value.
Display FormatThe display format of the date and time as text that shows within the item. Select the appropriate from the dropdown or enter your value.
PickerAdd 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 ValuesComma-separated values used to create the list of selectable years.
MonthMonth 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 to English. Defaults to English.
Values- comma-separated values used to create the list of selectable months.
DayDay 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 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 ValuesComma-separated values used to create the list of selectable hours.
Minute ValuesComma-separated values used to create the list of selectable minutes.
SlotPosition inside another component: Start or End.
[(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 NameProperty Description
Item WrapperIf the item wrapper features are used, the input will be wrapped in tag.
Color - item wrapper Ionic 4 color.
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.
LabelLabel properties:
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 4 color.
Mode - determines which platform styles to use. Possible values are iOS or MD.
Slot - label position in tag (Start or End).
ReorderReorder 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.

Using Datetime as a Form Control

📘

Datetime becomes a Form Control if included in a Form component and if it has the property Name 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.

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 including Form Control like Input, Radiobutton, Checkbox, Select etc.).
To create a Form Control, drag & drop a needed component from the components PALETTE of the Visual Editor.

🚧

The added component will become a Form Control only when the property Name is specified which defines 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 panel. 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 panel (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 tab.
  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 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.

StateDescription
validA control is considered valid if no validation errors exist with the current value. If the control is not present, null is returned.
invalidAn error exists in the input value. If the control is not present, null is returned.
pendingAsync validation is occurring and errors are not yet available for the input value. If the control is not present, null is returned.
disabledThe 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.
enabledThe control is included in ancestor calculations of validity or value. If the control is not present, null is returned.
pristineThe user has not yet changed the value in the UI. If the control is not present, null is returned.
dirtyThe user has changed the value in the UI. If the control is not present, null is returned.
touchedThe user has triggered a blur event on it. If the control is not present, null is returned.
untouchedThe user has not yet triggered a blur event on it. If the control is not present, null is returned.
errorsReports 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>

Properties

NovalidateThis boolean attribute indicates that the form shouldn't be validated when submitted.
Native validationIf set to True, native HTML5 validation is used instead of Angular validation. The form will work as the default HTML .
Form IDA 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 OnControls when the value or the validity is updated: Change, Blur, Submit
FeaturesAdvanced 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();

📘

Please, go to this page to check the sample Ionic 4 apps that use Form Control to perform specific data-entry tasks.

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 NameProperty Description
Disable ZoomIf set to True, the map zoom cannot be used when double-clicking. Defaults are set to False.
Full Screen ControlThe initial enabled/disabled state of the fullscreen control.
Gesture HandlingControls how gestures on the map are handled. Allowed values are cooperative, greedy, none, auto. The default is set to auto.
Map DraggableEnable to make the map draggable.
Map TypeThe map MapType ID. The allowed values are roadmap (default), hybrid, satellite, terrain, string.
ScrollwheelThe 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.
ViewpointGoogle Map Marker position properties:
Latitude defines the latitude position of the marker.
Longitude defines the longitude position of the marker.
ZoomThe zoom level of the map. The default zoom level is set to 8.
Zoom ControlThe enabled/disabled state of zoom control.
If set to True (default), the zoom control can be used on the map.

📘

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 4 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 4 application for choosing the best place for a party (using the voting functionality) by using the Google Map component:

Marker

The Marker component has the following properties:

Property NameProperty Description
Add Info WindowIf set to True, an information window will be added to the marker.
CoordsGoogle Map marker position.
latitude - the latitude position of the marker.
longitude - the longitude position of the marker.
Marker ClickableIf set to True, the marker can be clicked. The default value is set to true.
Marker DraggableIf set to True, the marker becomes draggable. The default value is set to false.
Open Info WindowIf set to True (default), the info window will automatically open when the marker is clicked.

📘

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

Click the + button on the Marker (Ionic4GoogleMapMarkerBean region) to add a new Google Map Window.
The Google Map Window component has the following properties:

Property NameProperty Description
disableAutoPanDisable auto-pan on open. By default, the info window will pan the map so that it is fully visible when it opens.
isOpenSets the open state for the info window.
maxWidthThe maximum width of the info window, regardless of content width. This value is only considered if set before a call to open.
zIndexAll 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 (Ionic4GoogleMapMarkerBean 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 plugin:

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:

Property NameProperty Description
FixedIf set to True, the grid will have a fixed width based on the screen size. The default is set to false.
GridIf set to False, rows are used without a grid. The default is set to true.
PaddingAdds 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.

Visit the Ionic 4 documentation to read more about Grids.

📘

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.
The Grid Row component has the following properties:

Property NameProperty Description
Align itemsVertical alignment of all cells (start, center, end, stretch, baseline), unless they specify their own alignment.
Flex WrapWrapping of cells: wrap, nowrap - forces the cells to a single row, or wrap reverse - the cells will wrap in reverse.
Justify ContentHorizontal alignment of all cells (start, center, end, space-around, space-between, space-evenly).

Here is more information about a Grid Row.

Grid Cell

Click the + button on the selected Grid Row to add new Grid Cell.
The Grid Cell component has the following properties:

Property NameProperty Description
Align SelfVertical alignment of all columns (start, center, end, stretch, baseline), unless they specify their own alignment.
OffsetThe 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.
PaddingAdds paddings to the cell:
Padding, No Padding, Padding Top, Padding Start, Padding End, Padding Bottom, Padding Vertical, Padding Horizontal.
PullThe 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.
PushThe 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.
SizeThe 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.
Text AlignmentAligns 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

The HTML component has the following properties:

Property NameProperty Description
ContainerSets an HTML element used as the wrapper for content: No wrapper, div, span.
HTMLContents of the HTML component.
Click the Edit button to open the HTML editor.
Wrapper StyleUse 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.

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:

Property NameProperty Description
Custom SVG IconAllows 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.
NameIonic 4 icons. Defaults are to logo-ionic.
SizeThe icon size. Possible values are: Small or Large.

Visit the Ionic 4 documentation to learn more about Icons.

Image

Image is a tag that will lazily load an image whenever the tag is in the view port. 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:

Property NameProperty Description
Alt. TextThis attribute defines the alternative text describing the image.
ImageClick the Change button to select the uploaded image from Media Manager.
Ionic ImageIf set to True, image tag <img> will be changed to Ionic 4 image tag <ion-img>. The default: is set to True.
ResponsiveIf set to True, automatically adjusts to fit the screen size. The default: is set to False.
ShapeThe propeties Responsive and Shape don`t work when Ionic Image is set to True or Wrapper is defined as Avatar or Thumbnail.
SlotLabel position in the ion-item` tag (None, Start or End).
WrapperChoose Ionic 4 tag (ion-avatar or ion-thumbnail) that will be used as wrapper of a default image.

📘

Properties Responsive and Shape work only for default images but not for Ionic 4 images and wrapped images.

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

📘

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.

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.

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

The Input component has the following properties:

Property NameProperty Description
ValueInput value.
PlaceholderInstructional text that shows before the input has a value.
NameThe name of the control, which is submitted with the form data.
ReadonlyIf set to True, the value can not be modified. The default is set to False.
RequiredIf set to True, a value must be passed before submitting a form.
TypeThe type of control to display. The possible values are Text (default), Password, Email, Number, Search, Tel, URL, Date, Time or File.
FeaturesAccept - 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.
Maxlength - 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.
Minlength - 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.
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 NameProperty Description
Item WrapperIf the item wrapper features are used, the input will be wrapped in the ion-item tag.
Color - item wrapper Ionic 4 color.
Lines - how the bottom border should be displayed on the item. Available options are Full, Inset or None.
Mode - determines which platform styles to use. Possible values are iOS or MD.
IconButton Ionic 4 icon.
Name - allows changing Ionic 4 icon style dynamically by property binding to [name]. You can use string (Ionic 4 Icon name e.g. star) or variable names.
Class - icon CSS classes.
Color - icon color.
Slot - icon position in the ion-item tag (Start or End).
Style - Ionic 4 icons.
Custom SVG Icon - select an svg file. This path will be added as the src attribute.
Mode - determines which platform styles to use. Possible values are iOS or MD.
LabelIf label is used, the input will be wrapped in the <ion-item> tag.
Text - label text.
Color - label Ionic color.
Position - determines where and how the label behaves inside an item. The possible values are Inline, Fixed, Stacked or Floating.
Slot- label position in the ion-item tag (Start or End).
Mode - label mode.
ReorderReorder properties:
Icon - custom icon for reorder with a type Content.
Click the Default icon button to select the needed icon.
Type - if set to Wrapper, the item will be wrapped into a reorder tag.

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

Visit the Ionic 4 documentation to read more about Inputs.

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:

Property NameProperty Description
Route NameList of routes names defined on the Routing tab.
Route ParamsSets the value of Route Params to pass some parameters in URL at navigation. Several values should be separated with commas (param1, param2, ...).
TextThe displayed link text.
Preset ModeSpecifies 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 4 - ion-text. It allows using such Ionic 4 features as Color, Mode or Router Direction;
Custom - a, p, span, div.
(click)The event emitted when the link is clicked.

🚧

Using tags can be changed with the Container property. Only Ionic 4 components (beginning with ion- prefix) names can be used if the Ionic 4 mode is chosen.

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

ContainerIonic 4 component used as the link.
Router DirectionWhen using a router, specifies the transition direction when navigating to another page.

The Custom Preset Mode properties are the following:

HrefContains a URL or a URL fragment that the hyperlink points to.
If this property is set, an anchor tag will be rendered.
ContainerHTML tag used for the link: a, p, span, div.
TargetSpecifies where to display the linked URL. Only applies when an href is provided: Blank, Self, Parent, Top.
RelSpecifies the relationship of the target object to the link object.
DownloadThis 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.

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:

Property NameProperty Description
InsetIf set to true, the list will have a margin around it and rounded corners.
LinesDefines how the bottom border should be displayed on the item: Full, Inset, None.

📘

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:

Property NameProperty Description
ButtonIf set to true, a button tag will be rendered and the item will be tappable.
DetailIf set to true, a detail arrow will appear on the item
Detail IconThe icon to use when Detail is set to true.
Click the Default icon button to select a needed icon.
FeaturesItem Type - used to change the item role (change Ionic 4 component): Item, Item Divider, Item Sliding, Item Group, Radio Group, Reorder Group, List Header.
Reorder Disabled - if set to true, the items reordering inside the reorder group will be disabled.
Sliding Slide - used for item sliding: Start, End, Both. Reorder group will be disabled.
Sticky - if 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
LabelIf set to true, adds a label to the list Item.
LinesDefines how the bottom border should be displayed on the item: Full, Inset, None.
Link FeaturesOptions 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.
Ref - 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, Top.
Type - the type of the button: Submit, Reset, Button.
Radio GroupAllow Empty Selection - if set to true, the radios can be deselected.
Name - the name of the control, which is submitted with the form data
Value - the value of the radiogroup.
ReorderIcon - custom icon for reorder with the type Content.
Type - Content or Wrapper. If Wrapper is used, the item will be wrapped into a reorder tag.
RoutingRoute 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.
Sliding StateSwitches a state of item sliding in the Visual Editor: Swipe Right or Swipe Left.

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.
The Item Label component has the following properties:

Property NameProperty Description
PositionThe position determines where and how the label behaves inside an item: Fixed, Stacked or Floating.
TextList item label text.

📘

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.

Visit the Ionic 4 documentation to read more about lists.

Radiobutton

Radiobuttons are generally used as a set of related options inside of a group, but they can also be used alone. Pressing on a radiobutton will check it. They can also be checked programmatically by setting the Checked property.
An ion-radio-group can be used to group a set of radiobuttons (or radios). When radios are inside of a radio group, only one radiobutton in the group will be checked at any time. Pressing a radiobutton will check it and uncheck the previously selected radiobutton, if there is one. If a radiobutton is not in a group with another radiobutton, then both radiobuttonss will have the ability to be checked at the same time.

Mapping

There is a possibility to use mapping to the Checked property of the component.
Such binding is used only for initializing the component when created dynamically.
If it is necessary to use dynamic changing of the checked state, the value of the checked button should be bound to the Value property of the Radio Group component in the mapping.

<ion-radio-group value="value2">
  <ion-radio value="value1"></ion-radio>
  <ion-radio value="value2"></ion-radio>
  <ion-radio value="value3"></ion-radio>
</ion-radio-group>

In this case, to check the value2 button by mapping, the binding to the Value property of the Radio Group component should return a string value2 which is equal to the Value property of the button.

Properties

The Radiobutton component has the following properties:

Property NameProperty Description
ValueThe value of the input.
CheckedIf set to true, the element is selected.
NameThe name of the control, which is submitted with the form data.
SlotRadiobutton position in the <ion-item> tag (Start or End).
[(ngModel)]Angular directive for data binding.
(ionSelect)The event emitted when the radiobutton is selected.

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

Property NameProperty Description
Item WrapperIf the item wrapper features are used, the input will be wrapped in the <ion-item> tag.
Lines - define how the bottom border should be displayed on the item. The available options are Full, Inset or None.
Mode - label mode.
Slot - position inside another component.
LabelIf 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 Inline, Fixed, Stacked or Floating.
Color - label Ionic 4 color.
ReorderReorder properties:
Type - Content or Wrapper. If Wrapper is used, the item will be wrapped into the reorder tag.
Icon - custom icon for reorder with type Content.
Slot - position inside the item.
Custom SVG Icon - an svg file can be selected. This path will be added as the src attribute.

📘

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 4 documentation to read more about Radiobuttons.

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 4 ion-radio-group.

The RadioGroup is a container including a Radio Group Header and Radiobuttons. By default, the RadioGroup has 3 Radiobuttons. To insert more buttons, use the + button on the Radio group 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 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 (Control ID and Control options that allow checking the validity, changing updating strategy, etc. These properties can be used only in the Form component 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.

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 RadioGroup component has the following properties:

Property NameProperty Description
ValueThe components's value.
NameThe name of the control, which is submitted with the form data.
Empty SelectionIf set to True, radios can be deselected.
Buttons directionUse the CSS flexbox layout to set buttons direction (Vertical or Horizontal) of radio buttons.
Group HeaderIf set to True, adds a header of the radio group. Hidden if the Horizontal direction is chosen.
Control IDName of the control. Used in components properties as the variable containing the control state.
Control OptionsAdvanced Form Control options.
Update On - controls when the value or the validity is updated.
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.
[(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.

The Radio Group Header has the following property:

Property NameProperty Description
Header textThe header text shown.

📘

To read more about the Radiobutton component, check this section.

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 4 ion-range.

Using Range as a Form Control

🚧

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.

📘

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).

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:

Property NameProperty Description
Component nameGives informative name for the component in the Visual Editor (breadcrumbs, events, etc.).
ClassDefines equal styles for elements with the same class name.
ValueThe value of the component.
NameThe name of the control, which is submitted with the form data.
DisabledIf set to True, the user cannot interact with the component.
ColorThe color to use from your application's color palette.
Available colors: primary, secondary, tertiary, success, warning, danger, light, medium and dark.
Dual KnobsShows two knobs.
MaxMaximum integer value of the range.
MinMinimum integer value of the range.
StepSpecifies the value granularity.
PinIf set to True, a pin with integer value is shown when the knob is pressed.
SnapsIf set to True, the knob snaps to tick marks evenly spaced based on the step property value.
TicksIf set to True, tick marks are displayed based on the step value. Only applies when Snaps is set to True.
DebounceHow long, in milliseconds, to wait to trigger the ionChange event after each change in the range value.
ModeDetermines which platform styles to use. Possible values are: iOS or MD.
SlotPossible position inside another component.
Left (Right) LabelProperties of a label added on the left (right) side of the range:
Class - defines equal styles for elements with the same class name
Color - the color to use from your application's color palette
Mode - determines which platform styles to use. Possible values are: iOS or MD.
Text - the displayed label text.
Left (Right) IconProperties of an icon added on the left (right) side of the range:
Style - Ionic 4 name of the icon used.
Name - allows changing Ionic 4 icon style dynamically by property binding to the [name] element property. You can use string (Ionic 4 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.
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:

Property NameProperty Description
Item WrapperColor - item wrapper Ionic 4 color.
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.
ReorderReorder 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.

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:

Property NameProperty Description
AnimatedIf set to true, enables the search bar animation. The default is set tofalse.
AutocompleteIndicates whether the value of the control can be automatically completed by the browser. The values are On and Off (default).
AutocorrectIndicates whether auto correction should be enabled when the the text value is being entered/edited. The values are On and Off (default).
Cancel ButtonSets 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.
Show - if set to true, shows the cancel button
Text - sets the cancel button text. Only applies to iOS mode. The default is set to Cancel.
Clear IconSets the clear icon. The default is to close-circle for iOS and close for MD.
Click the Default icon button to select the icon.
DebounceIndicates how long, in milliseconds, to wait to trigger the ionInput event after each keystroke. The default is set to 250.
Is FocusIf set to true, shows the searchbar when it has focus. Works in the Visual Editor only.
PlaceholderInstructional text that shows before the input has a value. The default is set to Search.
Search IconThe icon to be used as the search icon. The default is to search.
Click the Default icon button to select the icon.
SpellcheckIf set to true, enables spellcheck on the input. The default is set to false.
TypeSets the input type. The values are Text, Password, Email, Number, Search (default), Tel, Url.
ValueThe searchbar value.
(ionChange)Emitted when the value has changed.
(ionClear)Emitted when the clear input button is clicked.
(ionFocus)Emitted when the input has focus.
(ionInput)Emitted when the keyboard input ocurrs.

Visit the Ionic documentation to read more about Searchbar.

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.

Mapping

There is a possibility to use mapping to the Selected property of its options.
Such binding is used only for initializing selected options when they are created dynamically.
If it is necessary to use dynamic selection for options, the value of the selected option should be bound to the Value property of the Select component in the mapping.

<ion-select value="value2">
  <ion-select-option value="value1">value1</ion-select-option>
  <ion-select-option value="value2">value2</ion-select-option>
  <ion-select-option value="value3">value3</ion-select-option>
</ion-select>

In this case, to select the value2 option by mapping, the binding to the Value property of the Select component should return a string value2 which is equal to the Value property of the option.

If the Multiple property is enabled, the mapping should return an array of values of options that should be selected (['value2', 'value3'])

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

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.

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 NameProperty Description
Item WrappedIf set to True, the component will be included in the Item with additional properties
ColorThe color to use from your application's color palette. (primary, secondary, tertiary, success, warning, danger, light, medium and dark). Defaults are set to primary.
LinesHow the bottom border should be displayed on the item. The available options are Full, Inset or None.
LabelIf 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 Inline, Fixed, Stacked or Floating.
Color - label Ionic 4 color.
ReorderReorder 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
Slot - position inside the item
Custom SVG Icon - an svg file can be selected. This path will be added as the src attribute.

When used as a Form Control, Select has the following properties:

Property NameProperty Description
Initial ValueDefault form control value.
Control IDName of the control. Used in components properties as a variable containing the control state.
Control OptionsAdvanced form control options.
Update On - controls when the value or validity is updated.
Standalone - if set to True, the component will not register itself with its parent form, and acts as if it's not in the form.

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

Adding Select

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

1581

Adding Select

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

Property NameProperty Description
PlaceholderThe text to display when the select is empty.
NameThe name of the control, which is submitted with the form data.
Selected TextThe text to display instead of the selected option's value.
Cancel TextThe text to display on the Cancel button. The default is set to Cancel.
OK TextThe text to display on the OK button. The default is set to OK.
MultipleIf set to True, the select can accept multiple values.
InterfaceThe interface the select should use: Action Sheet, Popover or Alert (default).
Interface OptionsAny additional options that the interface can take.
OpenedIf set to true, opens the Select. This property is available only for development mode.
[(ngModel)]Angular directive for data binding.
(ionChange)The event emitted when the value has changed.

📘

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

Select Option

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

1588

Adding Select Option

Use double-clicking on the select to show options:

453

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

Property NameProperty Description
ValueThe input value.
TextThe option text.
SelectedIf set to true, the element is selected.
DisabledIf set to true, the user cannot interact with the select. Defaults are set to false.

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

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:

Property NameProperty Description
DurationDuration of the spinner animation in milliseconds. The default varies based on the spinner.
PausedIf set to true, the spinner's animation will be paused. Defaults are set to false.
Spinner NameThe 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.

Visit the Ionic 4 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

The Text component has the following properties:

Property NameProperty Description
ContainerYou can use Ionic 4 container to create Ionic 4 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 4. Here, HTML tags are selected as text containers.
TextA 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 value of the Container property.

For the ion-label container, an advanced property Position with values Fixed, Stacked or Floating can be added.
The property Slot can be used as an advanced property.

📘

The properties Color and Mode work only when Ionic 4 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.

Visit the Ionic documentation to read more about Text.

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.

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:

Property NameProperty Description
ValueThe 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.
CheckedIf set to true, the checkbox is selected. The default is set to false.
DisabledIf set to True, the user cannot interact with the 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 NameProperty Description
Item WrapperIf the item wrapper features are used, the toggle will be wrapped in the ion-item tag.
Color - item wrapper Ionic 4 color.
Lines - how the bottom border should be displayed on the item. Available options are Full, Inset or None.
Mode - determines which platform styles to use. Possible values are iOS or MD.
LabelIf 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. Available colors: primary, secondary, tertiary, success, warning, danger, light, medium and dark.
Mode - determines which platform styles to use. Possible values are iOS or MD.
Slot- label position in the ion-item tag (Start or End).
ReorderReorder 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.3xust
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.

Visit the Ionic 4 documentation to read more about Ionic 4 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.

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

Toolbar Title

The Toolbar Title component has the following property:

Property NameProperty Description
ColorThe color to use from your application's color palette.
TextToolbar title text

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 NameProperty Description
SlotThe position inside the toolbar (Start (default), End, Primary or Secondary).

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

Use the property Menu Button to add or remove a menu button (added by dragging & dropping the Button component to the Toolbar Button) into the Toolbar.
Menu Button is a component that automatically creates the icon and functionality to open a menu on a page.

Menu Button

The Menu Button component has the following properties:

Property NameProperty Description
Auto HideAutomatically hides the menu button when the corresponding menu is not active.
MenuOptional property that maps to a menu's menuId property. Can also be start or end for the menu side. This is used to find the correct menu to toggle.
(click)The event emitted when the button is clicked.

Visit the Ionic 4 documentation to read more about Ionic 4 Menu Button.

You might also like this Appery.io Community video showing how to use some Ionic components in a mobile application created with Appery.io: