Reactjs antd级联器';如果设置为useEffect,则默认值不起作用
如果硬编码为:Reactjs antd级联器';如果设置为useEffect,则默认值不起作用,reactjs,antd,ant-design-pro,Reactjs,Antd,Ant Design Pro,如果硬编码为: 但如果我在useEffect中使用setDefaultValue(),则它不起作用: 常量[defaultValue,setDefaultValue]=useState([]); useffect(()=>{ setDefaultValue(['Global']) },[defaultValue[0]]) 这是一个bug,或者我用错了?AntD中的defaultValueprop只在第一次渲染时使用,因为useffect在第一次渲染后运行,您最终没有级联器的默认值。之后
但如果我在useEffect中使用setDefaultValue(),则它不起作用:
常量[defaultValue,setDefaultValue]=useState([]);
useffect(()=>{
setDefaultValue(['Global'])
},[defaultValue[0]])
这是一个bug,或者我用错了?AntD中的
defaultValue
prop只在第一次渲染时使用,因为useffect
在第一次渲染后运行,您最终没有级联器的默认值。之后设置它不会产生任何效果。如果要使用defaultValue
,可以确保在cascader渲染时,已经设置了默认值
const [defaultVal, setDefaultVal] = useState();
useEffect(() => {
setDefaultVal(['zhejiang', 'hangzhou', 'xihu']);
}, []);
return (
<div>
{defaultVal && (
<Cascader
defaultValue={defaultVal}
options={options}
onChange={onChange}
/>
)}
</div>
)
const[defaultVal,setDefaultVal]=useState();
useffect(()=>{
setDefaultVal([‘浙江’、‘杭州’、‘西湖’]);
}, []);
返回(
{defaultVal&&(
)}
)
如果希望始终渲染级联器,还可以使用具有值的受控组件
AntD中的默认值
道具仅在第一次渲染时使用,因为useffect
在第一次渲染后运行,因此最终没有级联器的默认值。之后设置它不会产生任何效果。如果要使用defaultValue
,可以确保在cascader渲染时,已经设置了默认值
const [defaultVal, setDefaultVal] = useState();
useEffect(() => {
setDefaultVal(['zhejiang', 'hangzhou', 'xihu']);
}, []);
return (
<div>
{defaultVal && (
<Cascader
defaultValue={defaultVal}
options={options}
onChange={onChange}
/>
)}
</div>
)
const[defaultVal,setDefaultVal]=useState();
useffect(()=>{
setDefaultVal([‘浙江’、‘杭州’、‘西湖’]);
}, []);
返回(
{defaultVal&&(
)}
)
如果希望始终渲染级联器,还可以使用具有值的受控组件