Update Select.md
This commit is contained in:
committed by
GitHub
parent
02e7233a4a
commit
dd06afb0b3
@ -7,7 +7,8 @@ Renders a `<select>` element that uses a callback function to pass its value to
|
|||||||
|
|
||||||
- Use object destructuring to set defaults for certain attributes of the `<select>` element.
|
- Use object destructuring to set defaults for certain attributes of the `<select>` element.
|
||||||
- Render a `<select>` element with the appropriate attributes and use the `callback` function in the `onChange` event to pass the value of the textarea to the parent.
|
- Render a `<select>` element with the appropriate attributes and use the `callback` function in the `onChange` event to pass the value of the textarea to the parent.
|
||||||
- Use destructuring on the `values` array to pass an array of `value` and `text` elements and the `selected` attribute to define the initial `value` of the `<select>` element.
|
- Use the `selected` attribute to define the `defaultValue` of the `<select>` element.
|
||||||
|
- Use destructuring on the `values` array to pass an array of `value` and `text` elements.
|
||||||
|
|
||||||
```jsx
|
```jsx
|
||||||
function Select({ values, callback, disabled = false, readonly = false, selected }) {
|
function Select({ values, callback, disabled = false, readonly = false, selected }) {
|
||||||
@ -15,16 +16,28 @@ function Select({ values, callback, disabled = false, readonly = false, selected
|
|||||||
<select
|
<select
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
readOnly={readonly}
|
readOnly={readonly}
|
||||||
|
defaultValue={selected}
|
||||||
onChange={({ target: { value } }) => callback(value)}
|
onChange={({ target: { value } }) => callback(value)}
|
||||||
>
|
>
|
||||||
{values.map(([value, text]) => (
|
{values.map(([value, text]) => (
|
||||||
<option selected={selected === value} value={value}>
|
<option value={value}>
|
||||||
{text}
|
{text}
|
||||||
</option>
|
</option>
|
||||||
))}
|
))}
|
||||||
</select>
|
</select>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let choices = [
|
||||||
|
['grapefruit', 'Grapefruit'],
|
||||||
|
['lime', 'Lime'],
|
||||||
|
['coconut', 'Coconut'],
|
||||||
|
['mango', 'Mango']
|
||||||
|
];
|
||||||
|
ReactDOM.render(
|
||||||
|
<Select values={choices} selected="lime" callback={val => console.log(val)} />,
|
||||||
|
document.getElementById('root')
|
||||||
|
);
|
||||||
```
|
```
|
||||||
|
|
||||||
```jsx
|
```jsx
|
||||||
|
|||||||
Reference in New Issue
Block a user