import {useState} from 'react'; import {showModal, chooseMedia} from '@tarojs/taro'; export function useUpload() { const [files, setFiles] = useState([]); function onAdd() { chooseMedia({ count: 9, mediaType: ['image'], sourceType: ['album', 'camera'], success(res) { const {tempFiles} = res; setFiles(function (prev) { const imgs = tempFiles.map(val => val.tempFilePath); return [...prev, ...imgs]; }); }, }); } function onRemove(idx) { return function () { showModal({ title: '删除图片', content: `你确定要删除第${idx + 1}张图片吗?`, success() { setFiles(function (prev) { const next = [...prev]; next.splice(idx, 1); return next; }); }, }); }; } return [files, {onAdd, onRemove}]; }