FluentUI React v9 Combobox - Impossible de définir la largeur du composant
P粉823268006
P粉823268006 2023-09-01 15:34:55
0
1
639
<p>Existe-t-il un moyen de spécifier la largeur d'un composant Fluent UI Combobox (@fluentui/react-components) ? </p> <p>Pour d'autres éléments d'entrée, vous pouvez utiliser le paramètre <code>style={{width: "123px"}}</code> (mais vous ne savez pas si c'est la méthode recommandée), mais ce ne sera pas le cas. travailler avec Combobox . ≪ /p>
P粉823268006
P粉823268006

répondre à tous(1)
P粉392861047

style={{width: "123px"}} 不起作用,因为组合框的根元素的固定 min-width Réglé sur 250px.

Alors changez la largeur de la Combobox, cela dépend de ce que vous voulez réaliser.

Si vous souhaitez simplement qu'il soit plus grand, vous pouvez simplement augmenter cette largeur minimale :

<Combobox
    style={{minWidth: '800px'}}
>
    <Option>A</Option>
    <Option>B</Option>
</Combobox>

Si vous souhaitez le définir sur une largeur spécifique, vous pouvez supprimer la largeur minimale de l'élément racine, puis définir la largeur de l'élément d'entrée sous-jacent (dans ce cas, la largeur finale de la liste déroulante sera supérieure à 20 px en raison du remplissage d'entrée. et bouton déroulant) :

<Combobox
    style={{minWidth: 'unset'}}
    input={{style: {width: '20px'}}}
>
    <Option>A</Option>
    <Option>B</Option>
</Combobox>

EDIT : Au lieu d'utiliser style-Prop, vous pouvez également utiliser des classes CSS (une manière plus propre à mon avis) :

export const ComboboxExample: FunctionComponent = () => {
    const classes = useStyles()
    return (
        <Combobox className={classes.combobox}>
            <Option>A</Option>
            <Option>B</Option>
        </Combobox>
    )
}

const useStyles = makeStyles({
    combobox: {
        minWidth: 'unset',
        '>.fui-Combobox__input': {
            width: '20px',
        },
    },
})
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal