bug(MatFormFieldControl, MatInput): enable empty value for element attributes
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 56/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- angular, typescript
- Lĩnh vực
- frontend
Hướng nghiên cứu
Bắt đầu với bản tái hiện trên StackBlitz và kiểm tra các khai báo TypeScript cho MatInput cùng các triển khai MatFormFieldControl được nêu trong issue. Xác nhận hành vi đối với placeholder trống, maxlength, required và các thuộc tính liên quan, sau đó thêm hoặc cập nhật phạm vi kiểm thử để null và undefined được chấp nhận nhất quán.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Is this a regression?
- Yes, this behavior used to work in the previous version
The previous version in which this bug was not present was
21
Description
Recent TypeScript 6 flashes out discrepancies in attributes declaration for html/material controls.
For MatInput, as for other controls, TypeScript doesn't allow empty (null or undefined) values.
The required, placeholder, etc. forces strict datatype while others such as autocomplete are optional.
Previous Angluar version 21 handled these cases correct, for example, placeholder in MatFormField.
In my view, all MatFormFieldControl attributes should be optional, to reflect HTML tag design by definition.
It's common to forward optional attributes between components that holds undefined value; forcing an issue when refering to HTML tag such as input with Angular decoration.
Reproduction
StackBlitz link: https://stackblitz.com/edit/components-issue-starter-ffzyyuuu?file=src%2Fmain.ts
Steps to reproduce:
See errors for empty placehoder and missing maxlength.
Expected Behavior
Attributes such as placeholder should accept null and undefined.
This should be common among all MatFormFieldControl implementations.
Actual Behavior
Common attributes doesn't allow empty values.
Environment
Angular CLI : 22.0.0
Angular : 22.0.0
Node.js : 24.16.0
Package Manager : npm 11.16.0
Operating System : win32 x64
- Ngôn ngữ chính
- TypeScript
- Star
- 25k
- Fork
- 6.8k
- Merge trung bình
- 1 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 84
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của angular/components
-
area: material/tree docs gemini-triaged needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
angular/components#33832 ·
-
area: material/datepicker gemini-triaged P4
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
angular/components#33763 · 2 bình luận · 3 reaction ·
-
area: material/table gemini-triaged P4
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
angular/components#33709 · 1 bình luận ·
-
area: material/table docs gemini-triaged P4
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
angular/components#33455 ·
-
area: material/core gemini-triaged P3
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
angular/components#33059 · 2 bình luận ·
Tất cả issue của angular/components
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
mksglu/context-mode#1200 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
anthropics/claude-code#96687 ·
-
good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 95/100
AOSSIE-Org/DebateAI#582 · 2 bình luận ·