Vatsal,
Here is a code solution to your request (Widget.js lines 27, 33 and 49 -54):
define([
'dojo/on',
'dojo/query',
'dojo/Deferred',
'dojo/_base/lang',
'dojo/_base/html',
'dojo/_base/array',
'dojo/promise/all',
'dojo/_base/declare',
'dijit/_WidgetsInTemplateMixin',
'jimu/utils',
'jimu/BaseWidget',
'jimu/MapManager',
'jimu/filterUtils',
'jimu/dijit/Message',
'esri/lang',
'esri/request',
'esri/symbols/jsonUtils',
'esri/layers/FeatureLayer',
'esri/dijit/PopupTemplate',
'esri/renderers/SimpleRenderer',
'./TaskSetting',
'./SingleQueryLoader',
'./SingleQueryResult',
'./utils',
'jimu/LayerInfos/LayerInfos',
'dijit/registry',
'jimu/dijit/LoadingShelter',
'dijit/form/Select'
],
function(on, query, Deferred, lang, html, array, all, declare, _WidgetsInTemplateMixin, jimuUtils, BaseWidget,
MapManager, FilterUtils, Message, esriLang, esriRequest, symbolJsonUtils, FeatureLayer, PopupTemplate,
SimpleRenderer, TaskSetting, SingleQueryLoader, SingleQueryResult, queryUtils, LayerInfos, registry) {
.....
removeSingleQueryResult: function(singleQueryResult){
var value = null;
array.some(this._resultLayerInfos, lang.hitch(this, function(resultLayerInfo){
if(resultLayerInfo.singleQueryResult === singleQueryResult){
value = resultLayerInfo.value;
return true;
}else{
return false;
}
}));
if(value !== null){
this._removeResultLayerInfoByValues([value]);
var spDoms = query('.jimu-filter-value-provider', this.tbody);
array.forEach(spDoms, lang.hitch(this, function(spDom){
var sp = registry.byNode(spDom.children[0]);
sp.set("value", null);
}));
}
},