Cliquez sur le bouton pour ouvrir le menu déroulant
P粉232409069
2023-09-04 15:04:13
<p>J'utilise bootstrap 5 cdn et je souhaite ouvrir la liste déroulante sans cliquer dessus. </p>
<p>J'utilise une barre de navigation et je souhaite afficher des "liens déroulants" : </p>
<pre class="brush:php;toolbar:false;"><nav class="navbar navbar-expand-sm navbar-light bg-light">
<div class="conteneur-fluide">
<a class="navbar-brand" href="#">Navbar</a>
<bouton
class="navbar-toggler"
type="bouton"
data-bs-toggle="collapse"
data-bs-target="#navbarNavDropdown"
aria-controls="navbarNavDropdown"
aria-expanded="faux"
aria-label="Basculer la navigation"
>
<span class="navbar-toggler-icon"></span>
</bouton>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link actif" aria-current="page" href="#">Accueil</a>
≪/li>
<li class="liste déroulante des éléments de navigation">
<un
class = "nav-link dropdown-toggle"
href="#"
id="test"
role="bouton"
data-bs-toggle="liste déroulante"
aria-expanded="faux"
>
Lien déroulant
≪/a>
<ul class="menu déroulant" aria-labelledby="navbarDropdownMenuLink">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Une autre action</a></li>
<li><a class="dropdown-item" href="#">Autre chose ici</a></li>
</ul>
≪/li>
</ul>
</div>
</div>
</nav>
<button class="btn btn-primary btn-sm" (cliquez)="open()">Ouvrir</button></pre>
<p>Dans le composant, j'essaie de faire ce qui suit mais cela ne fonctionne pas : </p>
<pre class="brush:php;toolbar:false;">classe d'exportation AppComponent {
ouvrir() {
const dropdown = document.getElementById('test');
dropdown.click();
}
}</pré>
<p>Je l'ai fait dans stackblitz : test</p>
Ajouter l'attribut bootstrap au bouton :
Code du lien : https://stackblitz.com/edit/angular-bootstrap-5-dynamic-navbar-77sj13?file=app/app.component.html
Cela fonctionnera cependant. Gardez à l'esprit que votre application angulaire doit contrôler ces éléments, donc mélanger des bibliothèques externes avec des bibliothèques framework (Angular, Vue, React) causera toujours des problèmes
Pour cette utilisation, il existe des implémentations spéciales, par exemple : https://ng- bootstrap.github.io/#/home Guide d'angle
Une autre option consiste à utiliser ngIf pour afficher la barre de navigation (pas d'animation par défaut)
Un autre lien : https://stackblitz.com/edit/angular-bootstrap-5-dynamic-navbar-hygpzq?file=app/app.component.html