问题描述
我一直试图在单击按钮时获得一些下拉菜单,但似乎不起作用。有人可以告诉我这是什么问题。
dashboard.css
.dropdown-menu .user-menu {
width: 240px;
padding: 0;
.user-img{
width: 100px;
}
.dropdown-item{
color: #666 !important;
}
}
dashboard.html
<div class="dropdown d-inline-block">
<a class="dropdown-toggle no-caret pl-2 pr-2" id="user-menu" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
<i class="fa fa-user-o" aria-hidden="true"></i>
</a>
<div class="dropdown-menu dropdown-menu-right rounded-0 mt-3 p-0 Box-shadow" aria-labelledby="user-menu">
<div class="user-menu">
<div class="user-info text-center p-3">
<img class="rounded-circle"
src="https://image.shutterstock.com/image-vector/user-icon-trendy-flat-style-260nw-418179865.jpg"
width="40">
<p class="mt-1 mb-0">
Dave
<br>
<small>9th Oct 2020</small>
</p>
</div>
<a class="dropdown-item" [routerLink]="['profile']"><i class="fa fa-user mr-2"></i>{{ 'Profile' }}</a>
<a class="dropdown-item mb-1" [routerLink]="['/login',{error:'n',id: '1'}]">
<i class="fa fa-power-off mr-2"></i>{{'logout' }}
</a>
</div>
</div>
</div>
component.ts
ngOnInit() {
jQuery('#user-menu').on('click','.nav-item a',function () {
setTimeout(() => jQuery(this).closest('.dropdown').addClass('show'));
});
}
进口就像下面的进口
imports: [
CommonModule,MatSelectModule,FormsModule,ReactiveFormsModule,NgbModule,]
解决方法
您需要做的就是在应用模块中导入一些必要的模块:
imports: [
BrowserModule,BrowserAnimationsModule,FormsModule,HttpClientModule,MatSelectModule,MatNativeDateModule,ReactiveFormsModule,]
然后,您将不得不在组件ts文件中添加一个表单控件:
toppings = new FormControl();
并将其也添加到您的模板中:
<mat-select [formControl]="toppings" multiple>
...
</mat-select>
最后在styles.css中添加一些样式:
@import '~@angular/material/prebuilt-themes/indigo-pink.css';
body {
font-family: Roboto,Arial,sans-serif;
margin: 0;
}
.basic-container {
padding: 30px;
}
.version-info {
font-size: 8pt;
float: right;
margin: 8px;
}
这是一个实时演示,可以帮助您:link