pro-components
pro-components copied to clipboard
🐛[BUG]两个ProForm表单下存在相同name的ProFormSelect时,request得到的结果会造成覆盖
trafficstars
🐛 bug 描述
我在页面中使用了两个ProForm,并各自在它们内部引入了ProFormSelect组件,如果这两个ProFormSelect拥有相同的name,并且在request中传入了不同的函数,其中一个ProFormSelect的可选项会覆盖另一个。
📷 复现步骤
如以下代码所示,第二个ProForm中的ProFormSelect延迟2秒渲染,当第二个ProFormSelect渲染后,第一个ProFormSelect的可选项从选项1变为选项2。
function App() {
const [display, setDisplay] = useState(false);
useEffect(() => {
setTimeout(() => {
setDisplay(true);
}, 2000)
}, []);
return (
<div className="App">
<ProForm>
<ProFormSelect
name="select"
request={async () => [{ label: "选项1", value: "1" }]}
/>
</ProForm>
<ProForm>
{display ? (
<ProFormSelect
name="select"
request={async () => [{ label: "选项2", value: "2" }]}
/>
) : null}
</ProForm>
</div>
);
}
🏞 期望结果
两个ProFormSelect的可选项应各自为它们的props request返回得到的结果。
© 版本信息
- ProComponents 版本: 1.1.15
- 浏览器环境 chrome 104
- 开发环境:mac os Monterey