javascript - Angular 8 : (keyup.enter) ไม่ทำงานสำหรับ input html ที่เป็น readonly
ฉันกำลังพยายามเรียกใช้ฟังก์ชันเมื่อผู้ใช้กด Enter เหตุผลที่ฉันทำให้ช่องป้อนค่านี้เป็นแบบอ่านอย่างเดียวคือเพื่อจำกัดไม่ให้ผู้ใช้แก้ไขค่าที่ป้อนไว้เมื่อมีการใส่ค่าแล้ว
ค่ามาจากป๊อปอัพซึ่งจะถูกเรียกใช้งานในแอตทริบิวต์คลิก ปัญหาคือ keyup.enter ไม่ถูกเรียกใช้งานสำหรับอินพุตนั้น
ด้านล่างนี้คือโค้ด:
<input type="text" [(ngModel)]="display.name"
(click)="openProfile()" (keyup.enter)="submitProfile()" readonly
/>
<button (click)="submitProfile()" type="submit">
Submit
</button>
คำตอบ #1
คุณสามารถตั้งค่าคุณสมบัติได้:
[readonly]="isValuePapulated"
หรือ
[disabled]="isValuePapulated"
หรือใช้เฉพาะ:
[ngModel]="display.name"
(ngModelChanged)=onModelChanged($event)
// in component:
public onModelChanged(value: any): void {
if (isValuePapulated) {
return;
}
this.display.name = value;
}
