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

ant design pro 如何去保存颜色

上图

在这里插入图片描述
在这里插入图片描述
就是实现这样的效果

后端是这样的,这个颜色肯定是存到字符串里的
在这里插入图片描述
这是第一步

import mongoose, { Schema, Document } from 'mongoose';interface IDiscountCard extends Document {title: string;subtitle: string;image: string;shopUrl: string;bgColor: string;
}const DiscountCardSchema: Schema = new Schema({title: { type: String, required: true },subtitle: { type: String, required: true },image: { type: String, required: true },shopUrl: { type: String, required: true },bgColor: { type: String, required: true },
}, { timestamps: true });const DiscountCard = mongoose.model<IDiscountCard>('DiscountCard', DiscountCardSchema);export default DiscountCard;
 <ProFormColorPickername="bgColor"initialValue={bgColor}label={intl.formatMessage({ id: 'background.color' })}rules={[{ required: true, message: intl.formatMessage({ id: 'background.color.required' }) },]}fieldProps={{onChange: (color: any) => {console.log('Color changed:', color.toHexString());setBgColor(color.toHexString());},}}/>
import { useIntl } from '@umijs/max';
import { ModalForm } from '@ant-design/pro-components';
import BasicForm from './BasicForm';
import { useState } from 'react';
import extractPathFromUrl from '@/utils/extractPathFromUrl';
import { message } from 'antd';interface Props {open: boolean;onOpenChange: (visible: boolean) => void;onFinish: (formData: any) => Promise<void>;
}const Create: React.FC<Props> = (props) => {const intl = useIntl();const { open, onOpenChange, onFinish } = props;const [imageUrl, setImageUrl] = useState<string | undefined>('');const [bgColor, setBgColor] = useState<string>('#ffffff');return (<ModalFormtitle={intl.formatMessage({ id: 'pages.searchTable.new' })}width="50%"open={open}onOpenChange={onOpenChange}modalProps={{destroyOnClose: true,maskClosable: false,}}onFinish={async (values) => {// 确保在提交前已经上传了图片和资源if (!imageUrl) {message.error(intl.formatMessage({ id: 'message.error.imageUpload' }));return;}// 将图片和资源URL添加到表单数据中await onFinish({...values,image: extractPathFromUrl(imageUrl),bgColor,});}}><BasicForm setImageUrl={setImageUrl} setBgColor={setBgColor} newRecord /></ModalForm>);
};export default Create;
import { useIntl } from '@umijs/max';
import React, { useEffect, useState } from 'react';
import BasicForm from './BasicForm';
import { ModalForm } from '@ant-design/pro-components';
import { Form, Input } from 'antd';
import extractPathFromUrl from '@/utils/extractPathFromUrl';export type FormValueType = Partial<API.ItemData>;export type UpdateFormProps = {onCancel: (visible: boolean) => void;onSubmit: (values: FormValueType) => Promise<void>;updateModalOpen: boolean;values: {image?: string;bgColor?: string;} & Partial<API.ItemData>;
};const UpdateForm: React.FC<UpdateFormProps> = (props) => {
const intl = useIntl();const { updateModalOpen, onCancel, onSubmit, values } = props;const [imageUrl, setImageUrl] = useState<string | undefined>('');const [bgColor, setBgColor] = useState<string>(values.bgColor!);useEffect(() => {setImageUrl(values.image);}, [values]);return (<ModalFormtitle={intl.formatMessage({ id: 'pages.searchTable.change' })}width="50%"modalProps={{destroyOnClose: true,maskClosable: false,}}open={updateModalOpen}onOpenChange={onCancel}onFinish={async (values: any) => {onSubmit({...values,image: extractPathFromUrl(imageUrl!),bgColor});}}initialValues={{ ...values }}><BasicFormbgColor={bgColor}setBgColor={setBgColor}setImageUrl={setImageUrl}imageUrl={imageUrl} // 传递图片URL以显示已上传的图片values={values}/><Form.Item name="_id" label={false}><Input type="hidden" /></Form.Item></ModalForm>);
};export default UpdateForm;
http://www.lryc.cn/news/426670.html

相关文章:

  • 【Hadoop】建立圈内组件的宏观认识
  • C++:命名空间与输入输出
  • Azure DevOps Server 数据库日志已满,TF30042: The database is full
  • [C#]OpenCvSharp 实现Bitmap和Mat的格式相互转换
  • 【区块链+金融服务】基于区块链的供应链金融系统 | FISCO BCOS应用案例
  • AI语言大模型商业价值深度解析
  • 理解DDD领域驱动设计思想
  • 音频剪辑软件哪个好用?五大音频剪辑软件分享
  • 12.2 使用prometheus-sdk向pushgateway打点
  • HTTPS 详解
  • Microsoft Edge 使用方法与秘诀概览
  • 【视频】onvif、RTP、RTCP、SDP、RTSP、gb21818区别
  • 8-4 循环神经网络
  • Linux系统编程 --- 多线程
  • Grafana中的rate与irate以及histogram
  • 什么是网络安全态势感知
  • php 在app中唤起微信app进行支付,并处理回调通知
  • 高效同步与处理:ADTF流服务在自动驾驶数采中的应用
  • 【Arduino】ATmega328PB 连接 LSM6DS3 姿态传感器,并读数据(不确定 ESP 系列是否可行,但大概率是可行的)
  • live2d + edge-tts 优雅的实现数字人讲话 ~
  • 二进制安装php
  • 旧版Pycharm支持的python版本记录
  • java实现七牛云内容审核功能,文本、图片和视频的内容审核(鉴黄、鉴暴恐、敏感人物)
  • C++面试基础系列-struct
  • 代码随想录算法训练营 | 动态规划 part05
  • 英特尔XPU大模型应用创新
  • 仿Muduo库实现高并发服务器——socket网络通信模块
  • 模型 神经网络(通俗解读)
  • 事务的使用
  • 【免费】企业级大模型应用推荐:星环科技无涯·问知