Some Inputs with choices in their props do not accept `ReadonlyArray<T>`.
Maintainer thường phản hồi trong vòng 1 ngà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
- 45/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- react, typescript
- Lĩnh vực
- frontend
Hướng nghiên cứu
Bắt đầu với packages/ra-core/src/form/useChoices.tsx tại L16, sau đó tái hiện lỗi TypeScript bằng ví dụ SelectInput và mã StackBlitz được liên kết tại L129 và L151. Kiểm tra các input dựa trên choice khác như đã đề xuất; được xem là hoàn tất khi readonly choices được chấp nhận nhất quán mà không có lỗi TypeScript.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What you were expecting:
SelectInput choices should accept ReadonlyArray<T>
What happened instead:
SelectInput choices does not accept ReadonlyArray<T>
Steps to reproduce:
- use
"react-admin": "^4.12.3"
Related code:
- Preferably, a sandbox forked from
- L129
- L151
https://stackblitz.com/edit/github-h13gjc?file=src%2Fposts%2FPostEdit.tsx
- A link to a GitHub repo with the minimal codebase to reproduce the issue
import { SelectInput } from 'react-admin';
type Choice = {
id: number;
name: string;
};
const mutableArray = [
{
id: 1,
name: 'foo',
},
{
id: 2,
name: 'bar',
},
{
id: 3,
name: 'baz',
},
] satisfies Array<Choice>;
const readonlyArray = [
{
id: 1,
name: 'foo',
},
{
id: 2,
name: 'bar',
},
{
id: 3,
name: 'baz',
},
] as const satisfies ReadonlyArray<Choice>;
export const SelectInputGroup = () => {
return (
<>
<SelectInput source="mutableChoices" choices={mutableArray} />
<SelectInput source="immutableChoices" choices={readonlyArray} /> // type error
</>
);
};
Other information:
My suggestion (though more than just the SelectInput needs to be inspected):
- choices?: any[];
+ choices?: readonly any[]; // or ReadonlyArray<any>
Environment
- React-admin version: 4.12.3
- Last version that did not exhibit the issue (if applicable):
- React version: 18.2.0
- Browser: Google Chrome 115.0.5790.114 (Official Build) (arm64)
- Stack trace (in case of a JS error):
- Ngôn ngữ chính
- TypeScript
- Star
- 27k
- Fork
- 5.5k
- Merge trung bình
- 1 ngày 3 phút
- Pull request đã merge (30 ngày)
- 32
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc 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 marmelab/react-admin
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
marmelab/react-admin#11431 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Pagination: page button aria-labels are not translated on small screensCó thể đã có người làm @Singmin đã nhận 2 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
marmelab/react-admin#11427 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add emptyText property to SelectArrayInputCó thể đã có người làm @kwitykwity đã nhận 60 ngày trước. Đang mởenhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
marmelab/react-admin#10454 · 7 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 Hơn một tuần Mức phù hợp với người mới 38/100
marmelab/react-admin#11426 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
ra-data-graphql-simple: outdated graphql-ast-types-browser dependency causes npm peer warningsCó thể làm lại được @bipul724 đã nhận 13 ngày trước và không có pull request nào đang mở. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
marmelab/react-admin#11395 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của marmelab/react-admin
Issue tương tự
-
Replace discontinued crypto-js in the themeCó thể đã có người làm @aelmanaa đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
PaloAltoNetworks/docusaurus-openapi-docs#1689 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
solana-foundation/solana-web3.js#4015 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
formatSearchQuery drops the :present modifier, so `email:present=true` is sent as `email=true`Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 90/100
ivopogace/opencode-courier#422 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
chapel-lang/chapel-vscode#158 ·
Maintainer thường phản hồi trong vòng 1 ngày