我在 div 组件中使用 Select :
<div className="custom-filter custom-filter-data">
<DateRangeIcon className="search-icon"/>
<FormControl variant='standard' ref={addrRef} className=
{classes.formControl}>
<Select
labelId="demo-simple-select-label"
id="demo-simple-select"
defaultValue=""
onFocus={(e) => {addrRef.current.focus()}}
displayEmpty
>
<MenuItem value="" disabled>
Seleziona data
</MenuItem>
<MenuItem value={10}>Ten</MenuItem>
<MenuItem value={20}>Twenty</MenuItem>
<MenuItem value={30}>Thirty</MenuItem>
</Select>
</FormControl>
//other components
</div>
css容器
.custom-filter:focus-within{
color: #495057;
background-color: #fff;
border-color: #80bdff;
outline: 0;
box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
}
我需要在单击选择输入时触发选择上的焦点,以利用父容器的 :focus-within 样式。现在父 :focus-within 正在处理 onChange 事件(当我选择 MenuItem 时)。正如你所看到的,我已经尝试过 useRef() 但没有工作......似乎当用户点击选择的输入时,它会阻止所有其他焦点......
https://codesandbox.io/s/react-material-ui-select-forked-8msbu?file=/src/index.js