- Primitive Data Types
- Object Data Types
Contact Support
Value binding in AutoComplete Component
31 Jan 20256 minutes to read
Value binding in the AutoComplete control allows you to associate data values with each list item. This facilitates managing and retrieving selected values efficiently. The AutoComplete component provides flexibility in binding both primitive data types and complex objects.
Primitive Data Types
The AutoComplete control provides flexible binding capabilities for primitive data types like strings and numbers. You can effortlessly bind local primitive data arrays, fetch and bind data from remote sources, and even custom data binding to suit specific requirements. Bind the value of primitive data to the value property of the AutoComplete.
Primitive data types include:
- String
- Number
- Boolean
- Null
The following sample shows the example for preselect values for primitive data type
import { AutoComplete } from '@syncfusion/ej2-dropdowns';
let records: string[] = ["Item 1", "Item 2", "Item 3", "Item 4", "Item 5", "Item 6", "Item 7", "Item 8", "Item 9", "Item 10", "Item 11", "Item 12", "Item 13", "Item 14", "Item 15"];
//initiates the component
let autoObject: AutoComplete = new AutoComplete({
//bind the dataSorce property
dataSource: records,
placeholder:"Select an Item ",
value: "Item 5",
//set the height of the popup element
popupHeight: '200px'
});
//render the component
autoObject.appendTo('#ddlelement');
<!DOCTYPE html>
<html lang="en">
<head>
<title>Essential JS 2 DropDownList</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Typescript UI Controls" />
<meta name="author" content="Syncfusion" />
<link href="styles.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.2.3/ej2-base/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.2.3/ej2-inputs/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.2.3/ej2-dropdowns/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.2.3/ej2-notifications/styles/material.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
<script src="systemjs.config.js"></script>
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>
<body>
<div id='loader'>LOADING....</div>
<div id='container' style="margin:0 auto; width:250px;">
<input type="text" id='ddlelement' />
</div>
</body>
</html>
Object Data Types
In the AutoComplete control, object binding allows you to bind to a dataset of objects. When allowObjectBinding
is enabled, the value of the control will be an object of the same type as the selected item in the value property. This feature seamlessly binds arrays of objects, whether sourced locally, retrieved from remote endpoints, or customized to suit specific application needs.
The following sample shows the example for preselect values for object data type
import { AutoComplete } from '@syncfusion/ej2-dropdowns';
let records: { [key: string]: Object }[] = [];
for (let i: number = 1; i <= 150; i++) {
let item = {
id: 'id' + i,
text: "Item " + i,
};
records.push(item);
}
//initiates the component
let autoObject: AutoComplete = new AutoComplete({
//bind the dataSorce property
dataSource: records,
//map the appropriate columns to fields property
fields: { value: 'text' },
allowObjectBinding: true,
//set the placeholder to MultiSelect input
placeholder:"Select an Item ",
value: { id: 'id5', text: 'Item 5' },
//set the height of the popup element
popupHeight: '200px'
});
//render the component
autoObject.appendTo('#ddlelement');
<!DOCTYPE html>
<html lang="en">
<head>
<title>Essential JS 2 DropDownList</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="Typescript UI Controls" />
<meta name="author" content="Syncfusion" />
<link href="styles.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.2.3/ej2-base/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.2.3/ej2-inputs/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.2.3/ej2-dropdowns/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.2.3/ej2-notifications/styles/material.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.38/system.js"></script>
<script src="systemjs.config.js"></script>
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
</head>
<body>
<div id='loader'>LOADING....</div>
<div id='container' style="margin:0 auto; width:250px;">
<input type="text" id='ddlelement' />
</div>
</body>
</html>
Since the
value
property supports object data types, it’s necessary to provide the appropriate type wherever thevalue
property is utilized.