feat: update modal action for batch items

When selecting multi items in the table list page, and the action is a ModalAction, update the judgment: whether the OK button is clickable.

Change-Id: Ib14934b510e3788530e758a406d9801d7e22ab52
This commit is contained in:
zhangjingwei 2023-11-08 12:21:43 +08:00
parent 87238aa2f8
commit 2d6eeec796

View File

@ -463,17 +463,21 @@ export class ActionButton extends Component {
}
};
getModalOkButtonProps = (item, action) => {
getModalOkButtonProps = ({ item, action, items }) => {
const { disableSubmit = false, okButtonProps } = action;
if (okButtonProps) {
return okButtonProps;
}
const disabled = isFunction(disableSubmit)
? disableSubmit({ item, items, action })
: disableSubmit;
return {
disabled: disableSubmit,
disabled,
};
};
getModalCancelButtonProps = (item, action) => {
// eslint-disable-next-line no-unused-vars
getModalCancelButtonProps = ({ item, action, items }) => {
const { readOnly, cancelButtonProps } = action;
if (cancelButtonProps) {
return cancelButtonProps;
@ -509,8 +513,12 @@ export class ActionButton extends Component {
const ActionComponent = action;
const { okText, cancelText, id, className } = action;
const width = this.getModalWidth(action);
const okButtonProps = this.getModalOkButtonProps(item, action);
const cancelButtonProps = this.getModalCancelButtonProps(item, action);
const okButtonProps = this.getModalOkButtonProps({ item, action, items });
const cancelButtonProps = this.getModalCancelButtonProps({
item,
action,
items,
});
const modalProps = {
title,
visible,