Remove item in EJ2 TypeScript Drop down list control
4 May 20234 minutes to read
The following example demonstrate about how to remove an item from DropDownList.
import { DropDownList } from '@syncfusion/ej2-dropdowns';
//define the array of complex data
let sportsData: { [key: string]: Object }[] = [
{ Id: 'game1', Game: 'Badminton' },
{ Id: 'game2', Game: 'Football' },
{ Id: 'game3', Game: 'Tennis' }
];
//initiate the DropDownList
let dropDownListObject: DropDownList = new DropDownList({
// bind the sports Data to datasource property
dataSource: sportsData,
// maps the appropriate column to fields property
fields: { text: 'Game', value: 'Id' },
//set the placeholder to DropDownList input
placeholder:"Select a game"
});
//render the componen
dropDownListObject.appendTo('#ddlelement');
document.getElementById('first').onclick = () => {
// create DropDownList object
let obj: any = document.getElementById('ddlelement');
if (obj.ej2_instances[0].list) {
// Remove the selected value if 0th index selected
if (dropDownListObject.index === 0) {
dropDownListObject.value = null;
dropDownListObject.dataBind();
}
// remove first item in list
(obj.ej2_instances[0].list.querySelectorAll('li')[0]).remove();
if (!obj.ej2_instances[0].list.querySelectorAll('li')[0]) {
dropDownListObject.dataSource = [];
// enable the nodata template when no data source is empty.
obj.ej2_instances[0].list.classList.add('e-nodata');
}
} else {
// remove first item in list
dropDownListObject.dataSource.splice(0, 1);
}
}
<!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.1.33/ej2-base/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.1.33/ej2-inputs/styles/material.css" rel="stylesheet" />
<link href="https://cdn.syncfusion.com/ej2/28.1.33/ej2-dropdowns/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;">
<br>
<input type="text" id='ddlelement' />
<div style='padding: 50px 0'>
<button id='first' class="e-control e-btn"> Remove 0th item</button>
</div>
</div>
</body>
</html>