fix(upload): fix maxNumber not work #240

This commit is contained in:
vben 2021-02-05 23:27:42 +08:00
parent 22088e820c
commit 91e004e211
5 changed files with 18 additions and 5 deletions

View File

@ -3,6 +3,7 @@
### 🐛 Bug Fixes ### 🐛 Bug Fixes
- 修复菜单在 hmr 时数据被置空 - 修复菜单在 hmr 时数据被置空
- 修复 Upload 组件 maxNumber 失效问题
## 2.0.0-rc.18 (2021-02-05) ## 2.0.0-rc.18 (2021-02-05)

View File

@ -1,4 +1,5 @@
import { generate } from '@ant-design/colors'; import { generate } from '@ant-design/colors';
export const primaryColor = '#0084f4'; export const primaryColor = '#0084f4';
export const themeMode = 'light'; export const themeMode = 'light';

View File

@ -20,7 +20,12 @@
</Tooltip> </Tooltip>
</a-button-group> </a-button-group>
<UploadModal v-bind="bindValue" @register="registerUploadModal" @change="handleChange" /> <UploadModal
v-bind="bindValue"
:previewFileList="fileListRef"
@register="registerUploadModal"
@change="handleChange"
/>
<UploadPreviewModal <UploadPreviewModal
:value="fileListRef" :value="fileListRef"

View File

@ -42,7 +42,7 @@
</BasicModal> </BasicModal>
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, reactive, ref, toRefs, unref, computed } from 'vue'; import { defineComponent, reactive, ref, toRefs, unref, computed, PropType } from 'vue';
import { Upload, Alert } from 'ant-design-vue'; import { Upload, Alert } from 'ant-design-vue';
import { BasicModal, useModalInner } from '/@/components/Modal'; import { BasicModal, useModalInner } from '/@/components/Modal';
// import { BasicTable, useTable } from '/@/components/Table'; // import { BasicTable, useTable } from '/@/components/Table';
@ -63,7 +63,13 @@
import { useI18n } from '/@/hooks/web/useI18n'; import { useI18n } from '/@/hooks/web/useI18n';
export default defineComponent({ export default defineComponent({
components: { BasicModal, Upload, Alert, FileList }, components: { BasicModal, Upload, Alert, FileList },
props: basicProps, props: {
...basicProps,
previewFileList: {
type: Array as PropType<string[]>,
default: () => [],
},
},
emits: ['change', 'register'], emits: ['change', 'register'],
setup(props, { emit }) { setup(props, { emit }) {
const { t } = useI18n(); const { t } = useI18n();
@ -206,7 +212,7 @@
// //
async function handleStartUpload() { async function handleStartUpload() {
const { maxNumber } = props; const { maxNumber } = props;
if (fileListRef.value.length > maxNumber) { if ((fileListRef.value.length + props.previewFileList?.length ?? 0) > maxNumber) {
return createMessage.warning(t('component.upload.maxNumber', [maxNumber])); return createMessage.warning(t('component.upload.maxNumber', [maxNumber]));
} }
try { try {

View File

@ -156,7 +156,7 @@ export function createPreviewActionColumn({
// onClick: handlePreview.bind(null, record), // onClick: handlePreview.bind(null, record),
// }); // });
// } // }
return <TableAction actions={actions} />; return <TableAction actions={actions} outside={true} />;
}, },
}; };
} }