Custom Value in EJ2 TypeScript MultiSelect Dropdown
04 Sep 20263 minutes to read
The MultiSelect allows users to add a new option that is not already present in the component’s value when allowCustomValue is enabled. When a new custom value is selected, the customValueSelection event is triggered.
The following sample demonstrates the custom value support configuration with the MultiSelect component.
import { MultiSelect } from '@syncfusion/ej2-dropdowns';
//define the array of complex data
let sportsData: { [key: string]: Object }[] = [
{ id: 'game1', sports: 'Badminton' },
{ id: 'game2', sports: 'Football' },
{ id: 'game3', sports: 'Tennis' }
];
//initiate the MultiSelect
let msObject: MultiSelect = new MultiSelect({
// bind the sports Data to datasource property
dataSource: sportsData,
// maps the appropriate column to fields property
fields: { text: 'sports', value: 'id' },
//set the placeholder to MultiSelect input
placeholder:"Select games",
//enable custom Value option with multislect
allowCustomValue:true
});
// render initialized multiSelect
msObject.appendTo('#select');<!DOCTYPE html>
<html lang="en">
<head>
<title>Essential JS 2 MultiSelect</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/34.2.2/ej2-base/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/34.2.2/ej2-inputs/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/34.2.2/ej2-dropdowns/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/34.2.2/ej2-buttons/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>
</head>
<body>
<div id='loader'>LOADING....</div>
<div id='container' style="margin:0 auto; width:250px;">
<br>
<!--element which is going to render the MultiSelect-->
<input type="text" tabindex="1" id='select' />
</div>
</body>
</html>