修改弹窗

This commit is contained in:
筱野
2025-11-23 21:57:20 +08:00
parent 688e1b7e5e
commit 23fba49741
3 changed files with 44 additions and 39 deletions

View File

@@ -3,7 +3,9 @@
.common-popup {
position: fixed;
z-index: 9999 !important;
&:global(.nut-popup-bottom.nut-popup-round) {
border-radius: 20px 20px 0 0!important;
}
.common-popup__drag-handle-container {
position: position;
}

View File

@@ -29,6 +29,7 @@ export interface UploadCoverProps {
maxCount?: number;
align?: "center" | "left";
tag?: "cover" | "screenshot";
uploadText?: string
}
const mergeCoverImages = (
@@ -74,6 +75,7 @@ export default function UploadCover(props: UploadCoverProps) {
align = "center",
tag = "cover",
changePicker,
uploadText = '添加活动封面'
} = props;
const [visible, setVisible] = useState(false);
@@ -121,6 +123,44 @@ export default function UploadCover(props: UploadCoverProps) {
return (
<>
<div
className={`upload-cover-root ${
value.length === 0 && align === "center"
? "upload-cover-act-center"
: ""
}`}
>
{value.length < maxCount && (
<div className="upload-cover-act" onClick={() => openPicker(true)}>
<Image className="upload-cover-act-icon" src={img.ICON_ADD} />
<div className="upload-cover-text">{uploadText}</div>
</div>
)}
<div
className={`cover-image-list-container ${
value.length === maxCount ? "full" : ""
}`}
>
<div className="cover-image-list">
{value.map((item) => {
return (
<View className="cover-image-item" key={item.id}>
<Image
className="cover-image-item-image"
src={item.url}
mode="aspectFill"
/>
<Image
className="cover-image-item-delete"
src={img.ICON_REMOVE}
onClick={() => onDelete(item)}
/>
</View>
);
})}
</div>
</div>
</div>
<CommonPopup
visible={visible}
onClose={() => openPicker(false)}
@@ -160,44 +200,6 @@ export default function UploadCover(props: UploadCoverProps) {
</View>
</CommonPopup>
<UploadSourcePopup tag={tag} ref={uploadSourcePopupRef} onAdd={onAdd} />
<div
className={`upload-cover-root ${
value.length === 0 && align === "center"
? "upload-cover-act-center"
: ""
}`}
>
{value.length < maxCount && (
<div className="upload-cover-act" onClick={() => openPicker(true)}>
<Image className="upload-cover-act-icon" src={img.ICON_ADD} />
<div className="upload-cover-text"></div>
</div>
)}
<div
className={`cover-image-list-container ${
value.length === maxCount ? "full" : ""
}`}
>
<div className="cover-image-list">
{value.map((item) => {
return (
<View className="cover-image-item" key={item.id}>
<Image
className="cover-image-item-image"
src={item.url}
mode="aspectFill"
/>
<Image
className="cover-image-item-delete"
src={img.ICON_REMOVE}
onClick={() => onDelete(item)}
/>
</View>
);
})}
</div>
</div>
</div>
</>
);
}