切 tab 时想做一个表单验证,antd 的表单验证是异步的,不想用一个 ref 保留之前的 activeKey ,就想到这种写法,不知是否可行,目前看 OK
<Tabs type="card" activeKey={activeKey} onChange={(key: string) => {
set_activeKey(prev=>{
if (prev === '1') {
form.validateFields().then(()=>{
console.debug('validateFields ok')
set_activeKey(key as Key)
})
console.debug('return prev')
return prev
} else {
return key as Key
}
})
}}>