Skip to content

ModelUploader

3D 模型上传组件,默认支持 .fbx / .obj / .stl / .glb 格式,单文件选择。与 ImgUploader 结构一致,内置文件类型与大小校验。

基本用法

默认

标题 + 说明 + 虚线边框的上传区。

上传 3D 模型
支持 FBX / OBJ / STL / GLB,最大 150MB

带图标和必填标记

icon + required

参考模型
FBX / OBJ / STL / GLB

自定义大小限制

size

size 以 MB 为单位。

小模型
单个文件 ≤ 50 MB

自定义标题 / 描述

通过 title / description 两个插槽覆写默认的文本渲染:

vue
<ModelUploader @change="onChange">
  <template #title>
    <span class="text-purple-1 font-semibold">参考模型</span>
  </template>
  <template #description>
    <span class="text-white-60">拖拽或点击上传</span>
  </template>
</ModelUploader>

ModelUploaderInput

简化版本,只包含一个透明的 <input type="file">,适合自定义 UI 外观:

vue
<script setup lang="ts">
import { ModelUploaderInput } from '@tripo3d/design';
</script>

<template>
  <div class="relative size-24">
    <MyCustomUI />
    <ModelUploaderInput
      class="absolute inset-0 opacity-0 cursor-pointer"
      accept=".glb,.gltf"
      :size="100"
      @change="onChange"
    />
  </div>
</template>

API

ModelUploader Props

名称 类型 默认值 说明
titlestring上传区标题
descriptionstring说明文字
iconstring图标类名(UnoCSS icon)
requiredboolean显示必填标记
sizenumber150文件大小上限(MB)
classstring容器 class

ModelUploader Events

事件 Payload 说明
change(file: File)文件选择成功
size-error(file: File)文件超过大小限制
type-error(file: File)文件类型不支持

ModelUploader Slots

插槽 作用域 说明
title覆写标题渲染
description覆写描述渲染

ModelUploaderInput Props

名称 类型 默认值 说明
acceptstring'.fbx,.obj,.stl,.glb'接受的文件类型
sizenumber150文件大小上限(MB)

基于 MIT 协议发布(内部使用)