antd设置表单的某个字段的值

2023-05-16

antd设置表单的某个字段的值

1、创建form的实例

const [formObj] = ProForm.useForm()

2、给form绑定创建的实例

<Form form={formObj} / >

3、设置表单的值


export default function index(props) {
    const [formObj] = ProForm.useForm()
    function dataStr(val) {//获取到子组件传过来的值
    	formObj.setFieldsValue({ "details": val })
	}
    return (
        <Form form={formObj}>
			<Input name="details"/>
		</Form>
    )
}

//这里的details是要设置的表单的某个字段的name,val是要设置的具体值。我这里的val是子组件传过来的。

注意 useForm 是 React Hooks 的实现,只能用于函数组件,如果是在 class component 下,你也可以通过 ref 获取数据域。

import { Form, Input, Button, Select } from 'antd';
import { FormInstance } from 'antd/es/form';

const { Option } = Select;

const layout = {
  labelCol: { span: 8 },
  wrapperCol: { span: 16 },
};
const tailLayout = {
  wrapperCol: { offset: 8, span: 16 },
};

class Demo extends React.Component {
  formRef = React.createRef<FormInstance>();

  onGenderChange = (value: string) => {
    switch (value) {
      case 'male':
        this.formRef.current!.setFieldsValue({ note: 'Hi, man!' });
        return;
      case 'female':
        this.formRef.current!.setFieldsValue({ note: 'Hi, lady!' });
        return;
      case 'other':
        this.formRef.current!.setFieldsValue({ note: 'Hi there!' });
    }
  };

  onFinish = (values: any) => {
    console.log(values);
  };

  onReset = () => {
    this.formRef.current!.resetFields();
  };

  onFill = () => {
    this.formRef.current!.setFieldsValue({
      note: 'Hello world!',
      gender: 'male',
    });
  };

  render() {
    return (
      <Form {...layout} ref={this.formRef} name="control-ref" onFinish={this.onFinish}>
        <Form.Item name="note" label="Note" rules={[{ required: true }]}>
          <Input />
        </Form.Item>
        <Form.Item name="gender" label="Gender" rules={[{ required: true }]}>
          <Select
            placeholder="Select a option and change input text above"
            onChange={this.onGenderChange}
            allowClear
          >
            <Option value="male">male</Option>
            <Option value="female">female</Option>
            <Option value="other">other</Option>
          </Select>
        </Form.Item>
        <Form.Item
          noStyle
          shouldUpdate={(prevValues, currentValues) => prevValues.gender !== currentValues.gender}
        >
          {({ getFieldValue }) =>
            getFieldValue('gender') === 'other' ? (
              <Form.Item
                name="customizeGender"
                label="Customize Gender"
                rules={[{ required: true }]}
              >
                <Input />
              </Form.Item>
            ) : null
          }
        </Form.Item>
        <Form.Item {...tailLayout}>
          <Button type="primary" htmlType="submit">
            Submit
          </Button>
          <Button htmlType="button" onClick={this.onReset}>
            Reset
          </Button>
          <Button type="link" htmlType="button" onClick={this.onFill}>
            Fill form
          </Button>
        </Form.Item>
      </Form>
    );
  }
}

ReactDOM.render(<Demo />, mountNode);
#components-form-demo-control-ref .ant-btn {
  margin-right: 8px;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

antd设置表单的某个字段的值 的相关文章

  • vue3 antd pro 框架动态路由

    此框架中路由权限使用了两种方法 主要介绍第二种方法 从路由表构建路由 前端对比后端权限字段过滤静态路由表 即 前端配置好全部的路由表 然后根据权限来与后端获取到的进行对比 最终展示对比后的数据 从后端获取路由表结构体 并构建前端路由 从后端
  • antdv表格的rowSelection设置单选禁用选中等

    这个问题在项目中已经遇到过两次了 一次为表格想实现单选 禁用等 另一次则是今天 遇上需求需要在初始化表格的时候默认选中项目 鉴于自己的记性太差 记录记录 万一哪天又遇到这个问题心血来潮来翻了一翻博客 那问题就解决了 犹记得实现表格项单选和禁
  • Ant设计表行合并基于数据而不是索引值

    title Home phone colSpan 2 dataIndex tel render value row index gt const obj children value props if index 2 obj props r
  • Ant Design Form - onAfterChange 处理程序

    我使用 antd 创建了一个表单 每当字段发生更改时 它都会使用以下命令将表单值输出到控制台onValuesChange函数在一个Form 我的问题是Slider组件称之为onValuesChange拖动滑块时起作用 我希望它位于onmou
  • 在 antd Form + ReactJs 中使用 antd Tooltip

    如果我输入无效的邮件 ID 我需要使用 antd 工具提示显示 无效的电子邮件 如何在ReactJS antd Form中使用它 我现在使用的代码是 div div
  • 没有子元素的 JSX 元素必须是自闭合的

    我可以正确运行这段代码 但是当我将代码提交到 git 时 它显示 错误 src layouts index tsx 25 9 没有子项的 JSX 元素必须是自关闭的 我尝试添加 React Fragment 标签 但这不起作用 我也删除了第
  • 如何使用正则表达式禁止连续五位及更多数字?

    我想禁止字符串包含连续的五位数字 例如 12345 11111 123456 我已成功使用以下正则表达式禁止字符串中的任何数字 0 9 我创建了一个沙盒演示 https codesandbox io s l4429ym3kl 我想禁止五个连
  • 使用 antd 隐藏表的列

    我们如何隐藏表中的列以在前端显示 而该列已经存在于使用 ant design 表的数组中 例如 我的数组对象中有一个名为 ID 的列 但不需要在表视图中显示 它应该保留在 JSON 列表本身中以供参考 小提琴链接 https codesan
  • 如何更改 Ant 表头复选框

    我的应用程序中有一个表 我在其中对每一行使用 select 当我单击并选择行时 左上角会出现一个选中的复选框 我不想显示该复选框 我想显示其他内容 例如带有文本的 div 仅当我单击一行中的复选框时 该 div 才会出现 这个怎么做 我试图
  • 如何在 AntD Reactjs 中打开表格行按钮上的模态并访问模态中的表格数据

    我在 antd 表中显示用户数据 并在表中为每行创建了编辑按钮来访问每行记录 我想在 编辑 按钮单击时打开模态并在模态中获取相应的行数据 但无法 因为它给出了错误 showModal 未定义 版本 antd 4 18 9 axios 0 2
  • React - Internet Explorer 11 输入在第一次 onchange 后失去焦点

    我遇到了一个非常奇怪的问题 我无法理解 我目前正在使用 React 16 3 和 Antd 3 11 框架使用 create react app 并且我创建了一个表 该表在其标题列内呈现一个附加了 onChange 事件的组件 当我第一次关
  • 使用 Antd 上传操作将图像上传到 firebase 存储时出现问题

    我用的是antd图片墙 卡片 https ant design components upload components upload demo picture card使用此将图像上传到我的 firebase 存储的示例参考代码 http
  • 将 ExpandIcon 图标移至右侧并删除展开表中的空白区域 Ant Design 和 React.js

    我需要你的帮助来解决这个问题 我正在使用 Ant Design 表 但我被困在这里 我希望展开行图标应该位于当前表的右侧 在给定的沙箱代码中删除 它位于左侧 当我们展开一行时 展开的内容在左侧留下一个小空间 我想将其删除 即左边不应该有任何
  • 禁用 Reactjs 中的依赖下拉选项

    我正在制作一个简单的反应应用程序 其中有一些下拉列表 其中一个依赖于另一个 gt 这里下拉菜单 1 的值为游戏类型 例如Indoor and Outdoor gt 这里下拉菜单 2 的值为运动类型 例如Chess Tennis and Fo
  • antd上传控件需要action函数,但我不需要它

    我正在使用 ant design 组件 并且有一个上传输入 https ant design components upload https ant design components upload 根据文档 需要对道具进行操作 但是 我不
  • 使用 antd 隐藏元素(Ant Design Grid)

    我想在遇到某些断点时隐藏一些 div 在 bootstrap v4 中有类似的内容 hidden sm down 阅读 Grid 文档后 设置
  • Ant设计文件上传中使用customRequest

    我正在使用 Axios 来处理文件上传 我遇到显示文件上传进度的问题 我使用的文件上传视图是 图片卡 HTML
  • 使用 AntD 样式响应 Hook 表单

    我试图弄清楚如何将react hook form与antd前端一起使用 我已经制作了这个表单 它似乎正在工作 它是多部分表单向导的第 1 部分 只是不显示错误消息 谁能看到我在合并这两个表单系统时做错了什么 我没有收到任何错误 但我认为我已
  • Menu.Item 中的 Antd 自动换行

    可以在 Menu Item 组件中应用自动换行吗 示例不起作用
  • Storybook 和 AntDesign 组件 - 如何使用 CRA 和 Typescript 进行设置?

    我想使用 Typescript 在我的 CRA 项目中使用基于 AntDesign 组件构建的组件来设置 Storybook CRA v3 故事书 v5 25 AntDesign v3 23 2 我成功设置了 CRA AntDesign 设

随机推荐