perf(cdkTextareaAutosize): Allow custom LineHeight computation strategies
- Ngôn ngữ chính
- TypeScript
- Star
- 25k
- Fork
- 6.8k
- Merge trung bình
- 1 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 91
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
_No response_
### Description
_cacheTextareaLineHeight() runs at startup for every instance of cdkTextareaAutosize, despite the fact that for most applications, the line height value will be consistent and constant across the whole app, and frequently known at development time.
_cacheTextareaLineHeight() is a costly operation as it triggers css layout (measured at about 20ms per textarea in my app).
For most applications, it would be safe to compute the value only once and share between instances, and many other apps could just hardcode it.
See internal CL 421826236 for more context.
### Reproduction
Steps to reproduce:
1. Bootstrap multiple textareas with cdkTextareaAutosize
### Expected Behavior
Developer is able to override default behavior of doing costly measurements of text line height on every instance
### Actual Behavior
No mechanism to override default behavior of doing costly measurements of text line height on every instance
### Environment
- Angular: 13
- CDK/Material: 13
- Browser(s): All
- Operating System (e.g. Windows, macOS, Ubuntu): All
Hướng dẫn đóng góp
Hướng nghiên cứu
Start by locating cdkTextareaAutosize and its _cacheTextareaLineHeight() entry point, then trace how each instance computes and stores line height. Review any nearby tests for autosize behavior. Done means the default behavior remains covered while applications can choose a custom computation strategy that avoids unnecessary per-instance layout measurement.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- angular, typescript
- Lĩnh vực
- frontend, performance
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100