首页 > 其他分享 >简单的自定义表单控件

简单的自定义表单控件

时间:2024-05-13 19:09:14浏览次数:14  
标签:控件 const target 自定义 ... number value 表单 newNumber

核心为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>
    );

}

 

标签:控件,const,target,自定义,...,number,value,表单,newNumber
From: https://www.cnblogs.com/Simoon/p/18189803

相关文章

  • vite 自定义插件获取打包时长
    //vite.config.ts//打包时间functionbuildTimePlugin(mode){console.log('mode:>>',mode)return{name:'build-time',//在buildStart阶段设置初始值buildStart(){this.startTime=Date.now()if(mode!==&......
  • winform控件 datagridview分页功能 界面实现需要有上一页下一页等操作控件 dataGridV
    以下提供一个示例来说明如何在WinForms中实现分页功能,并在分页中实现数据修改并保存的操作。首先,我们需要一个包含数据源的DataGridView控件,并添加上一页、下一页等操作控件来实现分页功能。接下来,我们需要实现数据的加载、分页、修改和保存功能。这里我将提供一个简单的例......
  • WinForm中UI控件不支持从非创建控件的线程进行访问
    背景在WindowsForms应用程序中,UI控件(如按钮、文本框等)被设计为不支持从非创建控件的线程(通常是主UI线程)进行访问。尝试从其他线程访问UI控件会导致不可预测的行为,包括应用程序崩溃。Control.CheckForIllegalCrossThreadCalls属性用于在调试过程中帮助开发者发现这类潜在问......
  • uniapp自定义input清除按钮
    uniapp小程序,引入uni-ui库后,观察到其他组件,有的默认有清除按钮,比如: 在写内置组件input框,查看文档没有此属性,官方示例在这里:https://github.com/dcloudio/hello-uniapp/blob/master/pages/component/input/input.nvue 还需自行复制对应的css,试了下效果不太好。我需要和级联......
  • JVM自定义加类加载器
    在JVM类加载器分类中提及JVM自带的加载器无法满足实际业务需求时,可以自定义加载器。那一般什么情况下需要自定义加载器呢?隔离加载类:模块隔离——把类加载到不同的应用选项中,比如Tomcat类加载器。修改类加载方式:平台提供了三类加载器除必须加载的类加载器,可以根据实际情况......
  • JAVA Comparator 自定义排序 源码分析
    对于一个数组来说如果我们想要从大到小排序一般会这么写Integer[]nums={1,2,3};Arrays.sort(nums,newComparator<Integer>(){@Overridepublicintcompare(Integera,Integerb){returnb-a;}});......
  • Go语言异常处理:自定义错误【errors.New+panic】
    程序本身抛出的异常信息不是太友好,我们可以自定义错误或者异常的信息,需要使用errors包中的New函数来包装一下异常或错误信息;在使用内置函数panic(err),把异常信息后面的程序执行终止掉,因为再执行后面的程序也没有意义了。 packagemainimport"fmt"import"errors"funcma......
  • Tomcat中为什么要使用自定义类加载器
    Tomcat使用自定义类加载器主要是基于以下几个关键原因:1.应用隔离:Tomcat作为一个Web容器,能够同时部署和运行多个Web应用程序。每个应用可能依赖不同的库版本或者包含同名类,为了确保每个应用的类库相互独立,避免类冲突,Tomcat为每个Web应用提供了一个独立的类加载器实例,即`WebAppC......
  • Tomcat中为什么要使用自定义类加载器
    Tomcat使用自定义类加载器主要是基于以下几个关键原因:1.应用隔离:Tomcat作为一个Web容器,能够同时部署和运行多个Web应用程序。每个应用可能依赖不同的库版本或者包含同名类,为了确保每个应用的类库相互独立,避免类冲突,Tomcat为每个Web应用提供了一个独立的类加载器实例,即`WebAppC......
  • SQL Server实战七:自定义数据类型、标量值、内嵌表值、多语句表值函数的操作
      本文介绍基于MicrosoftSQLServer软件,实现数据库用户自定义数据类型的创建、使用与删除,以及标量值、内嵌表值、多语句表值函数等用户定义函数的创建、使用、删除方法。目录1用SQL语句创建一个用户定义的数据类型Idnum2使用Idnum创建学生表STUDENT与教师表TEACHER3交互式......