Mostrar u ocultar el icono de intercalación en el menú desplegable de bootstrap4 basado en el menú desplegable presente o no

Quiero mostrar u ocultar los icons de intercalación basados ​​en los elementos del menú presentes o no. si los elementos de menú presentes muestran el icono de intercalación, ocultelo. Estoy usando bootstrap4 y en mi caso los elementos del menú desplegable serán generados dinámicamente.

.dropdown-toggle::after { display:none;!important } 

El código anterior elimina el símbolo de intercalación, pero ¿cómo mostrarlo u ocultarlo en función del menú en el menú desplegable presente o no?

 .dropdown-toggle::after { display:none !important; } 
       

Use .hide() si no hay elementos dentro de $('.dropdown-menu .dropdown-item').length==0

 $( document ).ready(function() { if($('.dropdown-menu .dropdown-item').length==0 ) { $('.fas.fa-shopping-cart').hide(); } }); 
        

Haga una clase diciendo .hidden y agregue mostrar ninguna propiedad como.

 .hidden { display:none !important } 

y en tu JS haz esto:

  $(document).ready(function(){ var hasElement = $(".dropdown-menu" ).has("a"); hasElement.length == 0 ? $(".dropdown-toggle").addClass("hidden") : $(".dropdown-toggle").removeClass("hidden") });