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

常州外贸网站建设公司网站内容更新慢原因

常州外贸网站建设公司,网站内容更新慢原因,网站建设与管理题目,ppt可爱模板免费下载目录 一、背景二、具体1. 模式一:点击确认进行校验提示2. 模式二:确认按钮依赖于表单内容实现说明 一、背景 基于react、antd form分别实现如下两种模式: 1、一个 Modal,点击确认进行校验提示2、一个 Modal,确认按钮…

目录

  • 一、背景
  • 二、具体
    • 1. 模式一:点击确认进行校验提示
    • 2. 模式二:确认按钮依赖于表单内容
    • 实现说明

一、背景

基于react、antd form分别实现如下两种模式:

  • 1、一个 Modal,点击确认进行校验提示
  • 2、一个 Modal,确认按钮依赖于表单内容,必填项都有值才可点击

二、具体

以下是基于 React 和 Ant Design 的两种模式实现:

1. 模式一:点击确认进行校验提示

import React, { useState } from "react";
import { Modal, Form, Input, Button, message } from "antd";const DialogWithValidation = () => {const [visible, setVisible] = useState(false);const [form] = Form.useForm();const handleOk = () => {form.validateFields().then(() => {message.success("校验通过,提交成功!");setVisible(false);form.resetFields();}).catch((errorInfo) => {message.error("校验未通过,请检查输入!");});};return (<><Button type="primary" onClick={() => setVisible(true)}>打开对话框</Button><Modaltitle="模式一:校验提示"visible={visible}onCancel={() => setVisible(false)}onOk={handleOk}okText="确认"cancelText="取消"><Form form={form} layout="vertical"><Form.Itemlabel="姓名"name="name"rules={[{ required: true, message: "请输入姓名!" }]}><Input placeholder="请输入姓名" /></Form.Item><Form.Itemlabel="邮箱"name="email"rules={[{ required: true, message: "请输入邮箱!" },{ type: "email", message: "请输入有效的邮箱地址!" },]}><Input placeholder="请输入邮箱" /></Form.Item></Form></Modal></>);
};export default DialogWithValidation;

2. 模式二:确认按钮依赖于表单内容

可以参考 Antd form - 仅校验 例子。主要是利用 validateFieldsvalidateOnly 动态调整提交按钮的 disabled 状态:

const SubmitButton: React.FC<React.PropsWithChildren<SubmitButtonProps>> = ({ form, children }) => {const [submittable, setSubmittable] = React.useState<boolean>(false);// Watch all valuesconst values = Form.useWatch([], form);React.useEffect(() => {form.validateFields({ validateOnly: true }).then(() => setSubmittable(true)).catch(() => setSubmittable(false));}, [form, values]);return (<Button type="primary" htmlType="submit" disabled={!submittable}>{children}</Button>);
};

也可以监听 onFieldsChange

import React, { useState } from "react";
import { Modal, Form, Input, Button } from "antd";const DialogWithDisableButton = () => {const [visible, setVisible] = useState(false);const [isFormValid, setIsFormValid] = useState(false);const [form] = Form.useForm();const handleFieldsChange = () => {form.validateFields().then(() => {setIsFormValid(true);}).catch(() => {setIsFormValid(false);});};const handleOk = () => {Modal.success({title: "提交成功",content: "所有必填项都已填写!",});setVisible(false);form.resetFields();setIsFormValid(false);};return (<><Button type="primary" onClick={() => setVisible(true)}>打开对话框</Button><Modaltitle="模式二:按钮依赖表单"visible={visible}onCancel={() => setVisible(false)}onOk={handleOk}okButtonProps={{ disabled: !isFormValid }}okText="确认"cancelText="取消"><Formform={form}layout="vertical"onFieldsChange={handleFieldsChange}><Form.Itemlabel="姓名"name="name"rules={[{ required: true, message: "请输入姓名!" }]}><Input placeholder="请输入姓名" /></Form.Item><Form.Itemlabel="邮箱"name="email"rules={[{ required: true, message: "请输入邮箱!" },{ type: "email", message: "请输入有效的邮箱地址!" },]}><Input placeholder="请输入邮箱" /></Form.Item></Form></Modal></>);
};export default DialogWithDisableButton;

实现说明

  1. 模式一

    • 点击“确认”后会触发校验逻辑。
    • 校验通过后显示成功提示,否则提示错误信息。
  2. 模式二

    • 使用 onFieldsChange 方法监听表单变化。
    • 如果所有必填项都有值且校验通过,启用“确认”按钮;否则按钮保持禁用状态。
http://www.yayakq.cn/news/129293/

相关文章:

  • 购物网站开发的背景wordpress支付宝微信收费吗
  • wordpress数据库路径郑州seo排名第一
  • 做外贸没有网站需要注意什么厦门的网站建设公司
  • 凤阳县城乡建设局网站做设计找素材那个网站最好用
  • 怎么用ps做网站效果图wordpress外网跳转
  • 贵州企业网站开发公司wordpress product插件
  • 做旅游网站运营互联网公司网站建设价格
  • 牛栏前网站建设wordpress调用页面列表
  • 青海高端网站建设wordpress 夜间模式
  • 佛山网站优化排名推广app用户量排名
  • 德宏企业网站建设公司生鲜网站建设规划书
  • 厦门h5建站关于建设网站的报告
  • 手机咋建网站免费网站制作软件有哪些
  • 网站建设技术路线有哪些可以做兼职的翻译网站吗
  • 945新开传奇网站wordpress做的论坛
  • 北京网站百度推广网页制作培训多少钱一天
  • 灰色行业老域名做网站不收录怎么看kk园区视频
  • 手机网站弹窗关于网站运营的问题
  • 沧州网站建设一网美联石家庄网络推广公司有哪些
  • 网站建设行业细分wordpress加载jquery库
  • 腾讯云网站备案吗怎样看网站的浏览量
  • 用爱奇艺会员做视频网站违法吗最好看的免费网站源码
  • 网站后台html模板凡科网企业账号登录
  • 安阳专业做网站公司域名关键词查询
  • nginx wordpress 伪静态大连网站排名优化价格
  • 建设网站要在需求武安市网站建设费用
  • 淄博网站开发打造爆品营销方案
  • 做阿胶上什么网站比较好网站建设优化加盟代理
  • 游戏网站wordpress网站开发毕设结论
  • 优化网站排名解析推广app主题WordPress