当前位置: 首页 > news >正文

阳江招聘网站哪里最好找工作海珠一站式网站建设

阳江招聘网站哪里最好找工作,海珠一站式网站建设,网建网络科技有限公司,手机端开发工具一、概述 Antd是一个非常强大的UI组件库,里面的Form表单组件也基本能满足我们大多数场景。但是也有需要自定义表单的场景。 Vue2里我们使用v-model,结合子组件的model属性,来实现自定义组件的双向绑定。 Vue3里我们使用v-model,…

一、概述

Antd是一个非常强大的UI组件库,里面的Form表单组件也基本能满足我们大多数场景。但是也有需要自定义表单的场景。

  • Vue2里我们使用v-model,结合子组件的model属性,来实现自定义组件的双向绑定。

  • Vue3里我们使用v-model,结合子组件的update:modelValue来实现同样功能。

  • 到了React+Antd中,我们采用引用父组件默认传入onChange事件,子组件调用来实现。

二、开发实现

1、代码

父组件代码:

import { Button, Space, Form, Input, Radio, Switch } from "antd";
import MyBtns from "./components/myBtns";
import { useState, useEffect } from "react";function Index() {const [form] = Form.useForm();const [formData, setFormData] = useState<Object>({});const layout = {name: "myFrom",autoComplete: "off",labelCol: {span: 3,},wrapperCol: {span: 21,}};const initData = {title: "IT飞牛的自定义表单",item1: "选项-2",};const onFinish = async (values: Object) => {//提交数据//...}const onReset = () => {form.resetFields();};useEffect(() => {setFormData(initData);}, [])return <div>{JSON.stringify(formData)}<FormonFinish={onFinish}onValuesChange={(changedValues, allValues) => { setFormData(allValues) }}form={form}labelAlign="right"initialValues={initData}style={{"marginTop": "50px"}}{...layout}><Form.Item name="title" label="标题"><Input /></Form.Item><Form.Item name="item1" label="自定义项"><MyBtns /></Form.Item><Form.Item wrapperCol={{ offset: 3, span: 21 }}><Space size="middle"><Button htmlType="button" onClick={onReset}>取消</Button><Button type="primary" htmlType="submit">提交</Button></Space></Form.Item></Form></div >
}export default Index;

子组件(myBtns.tsx)代码:

import { Button, Space } from "antd";const myBtns = (props: any) => {const { value, onChange } = props //value 是form表单中"name"对应的字段值const onSelected = (val: string) => {onChange(val)}const getTypeClass = (val: string) => {return value == val ? "default" : "dashed";}return <Space><Button type={getTypeClass("选项1")} onClick={() => onSelected("选项1")}>选项1</Button><Button type={getTypeClass("选项2")} onClick={() => onSelected("选项2")}>选项2</Button><Button type={getTypeClass("选项3")} onClick={() => onSelected("选项3")}>选项3</Button></Space>
}export default myBtns;

2、最终效果

请添加图片描述

可以看到,表单中有两个选项,第一个是Input组件,第二个是自定义组件MyBtns,已经实现数据的事实更新。

3、原理

Form.Item 在渲染时会注入 valueonChange 事件给子元素。

  • value:form.item对应的name属性的值,可用作默认值以及返显
  • onChange:用于监听value元素值的变化,并将其传给form.item使其可以通过相关api获得其值

注意:当你的字段组件被包裹时属性将无法传递。所以以下代码是不会生效的:

<Form.Item name="input"><div><h3>I am a wrapped Input</h3><Input /></div>
</Form.Item>
http://www.yayakq.cn/news/683272/

相关文章:

  • 山东商祺网站建设优化广东大唐建设网站
  • 房产网站开发手工制作房子硬纸板
  • 网站制作公司加盟百度小程序注册流程
  • asp网站应用程序在线视频制作
  • 做最好言情网站松滋住房和城乡建设局网站
  • 中国建设银行网站首hao123主页是哪个软件
  • 贵金属网站模板安徽品质网站建设创新
  • 5151ppt网站建设如何建设公司的网站
  • 小米网站制作网站后台怎么做飘窗
  • 网站制作常用代码wordpress主题样式乱
  • 手机网站 微信小程序宿州网站网站建设
  • 做网站公司青浦新能源汽车车型
  • 网站验收指标有做思维图的网站吗
  • 网站加载速度影响因素公共服务平台网站建设方案
  • 抖音推广怎么收费seo博客优化
  • 无锡模板网站太原网站优化排名
  • 北京哪家网站建设公司比较好wordpress后台排版错乱
  • 设计建立企业网站最佳的公司网站开发说明书
  • 上海企业建站流程最好用的手机优化软件
  • 企业招聘网站排行榜张掖网站制作
  • 网站排名优化软件学校网站建设调查表
  • WordPress网站转APP插件优化大师有必要花钱吗
  • 景观设计师做交通分析常用网站培训机构哪家最好
  • 做网站策划用什么软件网站 服务器 域名
  • 江西响应式网站建设哪家好做简单视频网站自己看
  • 南部 网站 建设浙江省建设项目招投标网站
  • 云龙网站开发做网站怎么做多少钱
  • 邯郸菜鸟网站建设会员管理系统怎么做
  • 哪些网站是用asp.net开发的网站开发合同范本大全
  • 河南网站优化要多少钱电商设计公司有哪些