Ngx-Bootstrap - รายการแบบเลื่อนลง
องค์ประกอบแบบเลื่อนลง ngx-bootstrap สามารถสลับได้และให้การซ้อนทับตามบริบทเพื่อแสดงรายการลิงก์เป็นต้นด้วยคำสั่งแบบเลื่อนลงเราสามารถทำให้ดรอปดาวน์โต้ตอบได้
BsDropdownDirective
ตัวเลือก
[bsDropdown],[dropdown]
อินพุต
autoClose - บูลีนระบุว่าดรอปดาวน์จะถูกปิดเมื่อคลิกรายการหรือเอกสารและหลังจากกด ESC
container - สตริงตัวเลือกที่ระบุองค์ประกอบที่ควรต่อท้ายป๊อปโอเวอร์
dropup - บูลีนแอตทริบิวต์นี้ระบุว่าควรเปิดดรอปดาวน์ขึ้นไป
insideClick - บูลีนแอตทริบิวต์นี้ระบุว่าไม่ควรปิดดรอปดาวน์เมื่อคลิกภายในเมื่อ autoClose ตั้งค่าเป็นจริง
isAnimated - บูลีนระบุว่าดรอปดาวน์จะเคลื่อนไหว
isDisabled - บูลีนปิดใช้งานการสลับแบบเลื่อนลงและซ่อนเมนูแบบเลื่อนลงหากเปิด
isOpen - บูลีนส่งคืนไม่ว่าป๊อปโอเวอร์กำลังแสดงอยู่หรือไม่
placement- สตริงตำแหน่งของป๊อปโอเวอร์ ยอมรับ: "บน" "ล่าง" "ซ้าย" "ขวา"
triggers- สตริงระบุเหตุการณ์ที่ควรทริกเกอร์ รองรับรายการชื่อเหตุการณ์ที่คั่นด้วยช่องว่าง
เอาท์พุต
isOpenChange - ปล่อยเหตุการณ์เมื่อ isOpen เปลี่ยนแปลง
onHidden - ปล่อยเหตุการณ์เมื่อป๊อปโอเวอร์ซ่อนอยู่
onShown - ปล่อยเหตุการณ์เมื่อป๊อปโอเวอร์แสดงขึ้น
วิธีการ
show()- เปิดป๊อปโอเวอร์ขององค์ประกอบ นี่ถือเป็นการเรียกใช้ 'ด้วยตนเอง' ของป๊อปโอเวอร์
hide()- ปิดป๊อปโอเวอร์ขององค์ประกอบ นี่ถือเป็นการเรียกใช้ 'ด้วยตนเอง' ของป๊อปโอเวอร์
toggle()- สลับป๊อปโอเวอร์ขององค์ประกอบ นี่ถือเป็นการเรียกใช้ 'ด้วยตนเอง' ของป๊อปโอเวอร์
setConfig() - ตั้งค่า config สำหรับ popover
ตัวอย่าง
ในขณะที่เรากำลังจะใช้ดรอปดาวน์เราต้องอัปเดต app.module.ts ที่ใช้ในบท ngx-bootstrap DatePickerเพื่อใช้BsDropdownModule และ BsDropdownConfig.
อัปเดต app.module.ts เพื่อใช้ BsDropdownModule และ BsDropdownConfig
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppComponent } from './app.component';
import { TestComponent } from './test/test.component';
import { AccordionModule } from 'ngx-bootstrap/accordion';
import { AlertModule,AlertConfig } from 'ngx-bootstrap/alert';
import { ButtonsModule } from 'ngx-bootstrap/buttons';
import { FormsModule } from '@angular/forms';
import { CarouselModule } from 'ngx-bootstrap/carousel';
import { CollapseModule } from 'ngx-bootstrap/collapse';
import { BsDatepickerModule, BsDatepickerConfig } from 'ngx-bootstrap/datepicker';
import { BsDropdownModule,BsDropdownConfig } from 'ngx-bootstrap/dropdown';
@NgModule({
declarations: [
AppComponent,
TestComponent
],
imports: [
BrowserAnimationsModule,
BrowserModule,
AccordionModule,
AlertModule,
ButtonsModule,
FormsModule,
CarouselModule,
CollapseModule,
BsDatepickerModule.forRoot(),
BsDropdownModule
],
providers: [AlertConfig, BsDatepickerConfig, BsDropdownConfig],
bootstrap: [AppComponent]
})
export class AppModule { }
อัปเดต test.component.html เพื่อใช้เมนูแบบเลื่อนลง
test.component.html
<div class="btn-group" dropdown #dropdown="bs-dropdown" [autoClose]="false">
<button id="button-basic" dropdownToggle type="button"
class="btn btn-primary dropdown-toggle"
aria-controls="dropdown-basic">
Menu <span class="caret"></span>
</button>
<ul id="dropdown-basic" *dropdownMenu class="dropdown-menu"
role="menu" aria-labelledby="button-basic">
<li role="menuitem"><a class="dropdown-item" href="#">File</a></li>
<li role="menuitem"><a class="dropdown-item" href="#">Edit</a></li>
<li role="menuitem"><a class="dropdown-item" href="#">Search</a></li>
<li class="divider dropdown-divider"></li>
<li role="menuitem"><a class="dropdown-item" href="#">Recents</a>
</li>
</ul>
</div>
<button type="button" class="btn btn-primary"
(click)="dropdown.isOpen = !dropdown.isOpen">Show/Hide
</button>
อัปเดต test.component.ts สำหรับตัวแปรและวิธีการที่เกี่ยวข้อง
test.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
constructor() {}
ngOnInit(): void {}
}
สร้างและให้บริการ
รันคำสั่งต่อไปนี้เพื่อเริ่มเซิร์ฟเวอร์เชิงมุม
ng serve
เมื่อเซิร์ฟเวอร์เริ่มทำงาน เปิด http: // localhost: 4200 และตรวจสอบผลลัพธ์ต่อไปนี้