fix: extra button control

This commit is contained in:
jialin
2025-04-11 20:02:39 +08:00
parent 092aeceb9d
commit f80daf6cd4
6 changed files with 38 additions and 28 deletions
@@ -5,7 +5,14 @@ import { CloseOutlined } from '@ant-design/icons';
import { useIntl } from '@umijs/max';
import { Button, Drawer } from 'antd';
import _ from 'lodash';
import React, { memo, useCallback, useEffect, useRef, useState } from 'react';
import React, {
memo,
useCallback,
useEffect,
useMemo,
useRef,
useState
} from 'react';
import styled from 'styled-components';
import { queryCatalogItemSpec } from '../apis';
import {
@@ -448,6 +455,10 @@ const AddModal: React.FC<AddModalProps> = (props) => {
axiosToken.current?.cancel?.();
}, [onCancel]);
const showExtraButton = useMemo(() => {
return warningStatus.show && warningStatus.type !== 'success';
}, [warningStatus.show, warningStatus.type]);
useEffect(() => {
if (open) {
fetchSpecData();
@@ -542,12 +553,9 @@ const AddModal: React.FC<AddModalProps> = (props) => {
<ModalFooter
onCancel={handleCancel}
onOk={handleSumit}
showOkBtn={
!warningStatus.show || warningStatus.type === 'success'
}
showOkBtn={!showExtraButton}
extra={
warningStatus.show &&
warningStatus.type !== 'success' && (
showExtraButton && (
<Button
type="primary"
onClick={handleSubmitAnyway}
@@ -4,7 +4,7 @@ import { CloseOutlined } from '@ant-design/icons';
import { useIntl } from '@umijs/max';
import { Button, Drawer } from 'antd';
import _, { debounce } from 'lodash';
import { FC, useCallback, useEffect, useRef, useState } from 'react';
import { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';
import styled from 'styled-components';
import {
backendOptionsMap,
@@ -229,6 +229,10 @@ const AddModal: FC<AddModalProps> = (props) => {
}
};
const showExtraButton = useMemo(() => {
return warningStatus.show && warningStatus.type !== 'success';
}, [warningStatus.show, warningStatus.type]);
useEffect(() => {
if (open) {
handleOnOpen();
@@ -338,12 +342,9 @@ const AddModal: FC<AddModalProps> = (props) => {
<ModalFooter
onCancel={handleCancel}
onOk={handleSumit}
showOkBtn={
!warningStatus.show || warningStatus.type === 'success'
}
showOkBtn={!showExtraButton}
extra={
warningStatus.show &&
warningStatus.type !== 'success' && (
showExtraButton && (
<Button
type="primary"
onClick={handleSubmitAnyway}
+11 -8
View File
@@ -141,6 +141,7 @@ const UpdateModal: React.FC<AddModalProps> = (props) => {
const data = form.getFieldsValue?.();
const res = handleBackendChangeBefore(data);
console.log('res+++++++++++', res);
if (res.show) {
return;
}
@@ -393,6 +394,14 @@ const UpdateModal: React.FC<AddModalProps> = (props) => {
onCancel?.();
};
const showExtraButton = useMemo(() => {
return (
warningStatus.show &&
warningStatus.type !== 'success' &&
!warningStatus.isDefault
);
}, [warningStatus.show, warningStatus.type, warningStatus.isDefault]);
useEffect(() => {
if (open && formData) {
setOriginalFormData();
@@ -441,15 +450,9 @@ const UpdateModal: React.FC<AddModalProps> = (props) => {
<ModalFooter
onCancel={onCancel}
onOk={handleSumit}
showOkBtn={
!warningStatus.show ||
warningStatus.type === 'success' ||
warningStatus.isDefault
}
showOkBtn={!showExtraButton}
extra={
warningStatus.show &&
warningStatus.type !== 'success' &&
!warningStatus.isDefault && (
showExtraButton && (
<Button
type="primary"
onClick={handleSubmitAnyway}