OptGroup 是故意被限制嵌套使用吗
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 48/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- react, typescript
- Ambito
- documentation
Direzione di ricerca
Inizia leggendo la gestione di OptGroup in src/utils/valueUtils.ts intorno alla riga 54, quindi esamina la documentazione ufficiale di Select e gli esempi per le indicazioni attuali sul raggruppamento. Il lavoro è completato quando vengono documentati il comportamento di annidamento supportato e la relativa limitazione, oppure viene registrato il comportamento concordato se il progetto sceglie di supportare gruppi più profondi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
官方文档和示例关于 OptGroup 的说明太少了,我发现 OptGroup 是故意被限制了嵌套使用,即 Select 只能支持一级分组。
在 src/utils/valueUtils.ts 第 54 行:
function dig(list: OptionType[], isGroupOption: boolean) {
list.forEach((data) => {
const label = data[fieldLabel];
if (isGroupOption || !(fieldOptions in data)) { // isGroupOption 限制了进一步递归更深层的 Group
const value = data[fieldValue];
// Option
flattenList.push({
key: getKey(data, flattenList.length),
groupOption: isGroupOption,
data,
label,
value,
});
} else {
let grpLabel = label;
if (grpLabel === undefined && childrenAsData) {
grpLabel = data.label;
}
// Option Group
flattenList.push({
key: getKey(data, flattenList.length),
group: true,
data,
label: grpLabel,
});
dig(data[fieldOptions], true);
}
});
}
文档上没有说明分组仅限于一级,实现上也没有对内嵌分组容错(造成页面上某一个 Group 被显示成了 GroupOption,但实际上又无法选中),目前的样式没有准备做进一步内嵌的展示样式(当然实际上在这种选择框下面做过多内嵌展示也不友好)。
希望可以在文档上明确一下功能说明,明确说明此处不支持一级以上的分组,或者干脆就直接支持多级分组。
- Lingua principale
- TypeScript
- Stelle
- 938
- Fork
- 482
- Merge medio
- 15h 8m
- PR unite (30g)
- 2
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di react-component/select
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
react-component/select#1216 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
react-component/select#1159 ·
-
a11y 问题Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
react-component/select#1087 · 1 reazione ·
-
showSearch 默认值是 false 把Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
react-component/select#1086 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 30/100
react-component/select#1082 · 1 commento ·
Tutte le issue di react-component/select
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
StabilityNexus/Fate-EVM-Frontend#153 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
code-yeongyu/oh-my-openagent#9039 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Tencent/teamai-cli#862 ·
I maintainer di solito rispondono entro 1 giorno
-
bug good first issue hacktoberfest redis
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
libredb/libredb-studio#1164 ·
I maintainer di solito rispondono entro 1 giorno
-
flake
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno