установить метку опции выбранного значения в React - PullRequest
0 голосов
/ 29 мая 2019

Используя React, я хочу установить значение по умолчанию для моего выбора и вставить метку в опции. Это то, что я построил до сих пор:

<Select showSearch style = {{ width: '100%' }}
                   placeholder = "Selection la choix de votre numéro de téléphone "
                   optionFilterProp = "children"
                   onChange = {handleChangeSelect}

                   defaultValue = {extraitMP3[ids].Mp3[idJson].visibilite}
                   onFocus = {handleFocusSelect}
                   onBlur = {handleBlurSelect}
                   filterOption = {(input, Option) => Option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}>

    <Option value = "1"> Visible dans la recherche et sur ma fiche </Option>
    <Option value = "2"> Visible sur ma fiche uniquement </Option>
    <Option value = "3"> Masqué </Option>
</Select>

Результат теперь показывает {extraitMP3 [ids] .Mp3 [idJson] .visibilite}, который равен одному из значений параметра, но я хочу отобразить метки параметров. Любая помощь, чтобы изменить то, что отображать от значений до их меток в defaulValue

1 Ответ

1 голос
/ 29 мая 2019

Вы можете сохранить параметры на карте, а затем найти текст для параметра:

Где-то в модуле вашего компонента, но не в самом компоненте (нет необходимости создавать его заново):

const selectOptions = new Map([
    ["1", "Visible dans la recherche et sur ma fiche"],
    ["2", "Visible sur ma fiche uniquement"],
    ["3", "Masqué"],
]);

Затем при рендеринге посмотрите:

defaultValue={selectOptions.get(extraitMP3[ids].Mp3[idJson].visibilite)}

и используйте карту для рендеринга опций.Таким образом, код рендеринга будет выглядеть примерно так:

<Select
            showSearch
            style={{ width: '100%' }}
            placeholder="Selection la choix de votre numéro de téléphone "
            optionFilterProp="children"
            onChange={handleChangeSelect}

            defaultValue={selectOptions.get(extraitMP3[ids].Mp3[idJson].visibilite)}
            onFocus={handleFocusSelect}
            onBlur={handleBlurSelect}
            filterOption={(input, Option) => Option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
          >
          {[...selectOptions].map(([value, label]) => <Option value="{value}"> {label} </Option>)}
</Select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...