简单的自定义表单控件
核心为onChang事件,赋值需要关注value
<Form.Item
name='position'
label="位置"
style={itemStyle}
>
<InputXYZ />
</Form.Item >
const InputXYZ = (props) => {
const { id, value = {}, onChange } = props;
const [number, setNumber] = useState({});
const onNumberChange = useCallback((e, name) => {
console.log();
if (Number.isNaN(Number(e.target.value))) return;
console.log(!Number.isNaN(e.target.value));
const newNumber = { ...number, [e.target.name]: e.target.value }
setNumber(newNumber);
onChange?.({
number,
...value,
...newNumber,
});
}, [number])
return (
<span id={id} style={{ display: 'flex', justifyContent: 'space-between' }}>
<Input
type="text"
value={value.x}
name="x"
onChange={onNumberChange}
style={{
width: 80,
}}
/>
<Input
type="text"
name="y"
value={value.y}
onChange={onNumberChange}
style={{
width: 80,
}}
/>
<Input
type="text"
name="z"
value={value.z}
onChange={onNumberChange}
style={{
width: 80,
}}
/>
</span>
);
}
分类:
Ant Design
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?