当前位置: 首页 > news >正文

wordpress评论心情插件深圳seo专家

wordpress评论心情插件,深圳seo专家,成都住建局官网住建智慧建管,网站空间多久续一次费用uniapp3.0的写法组合式api,setup形式封装一个图片上传公用组件,要求 1、使用uni-file-picker选择文件 2、uni.uploadFile上传图片 3、要能支持上传接口动态化 4、支持删除如片列表中已上传项 5、可以预览已上传列表图片 6、支持动态化限制图片格…

用uniapp3.0的写法组合式api,setup形式封装一个图片上传公用组件,要求

1、使用uni-file-picker选择文件

2、uni.uploadFile上传图片

3、要能支持上传接口动态化

4、支持删除如片列表中已上传项

5、可以预览已上传列表图片

6、支持动态化限制图片格式,图片大小,

7、上传成功后走公用组件返回图片列表list,

具体的封装代码,和在页面使用该组件的例子

组件ImageUploader.vue

<template><view class="image-uploader"><view class="header"><text>图片上传</text><text>{{ uploadedFiles.length }}/{{ maxCount }}</text></view><uni-file-picker multiple :limit="maxCount" :disable="uploadedFiles.length >= maxCount" @select="onFileChange":ext-class="filePickerClass" :file-extname="allowedFormats" @delete="removeImage"><view class="upload-btn"><uni-icons type="camera-filled" color="#007aff" size="40"></uni-icons></view></uni-file-picker></view>
</template><script setup>let base = import.meta.env.VITE_APP_BASE_APIlet token = uni.getStorageSync(ACCESS_TOKEN)const props = defineProps({maxCount: {type: Number,default: 1},uploadUrl: {type: String,default: '/ap/files/upload555'//自己的上传地址},allowedFormats: {type: Array,default: () => ['jpg', 'jpeg', 'png', 'gif']},maxSize: {type: Number,default: 5 * 1024 * 1024 // 5MB},value: {type: Array,default: () => {return [];},},})const emit = defineEmits(['update:list'])const uploadedFiles = computed({get: () => {return props.value;},set: (val) => {emit('update:value', val);},});const onFileChange = async (files) => {console.log('files', files)// const files = event.detail.tempFilesconst filelist = files.tempFiles; // 获取选中的文件for (const file of filelist) {if (!props.allowedFormats.includes(file.name.split('.').pop().toLowerCase())) {uni.showToast({title: '不支持的文件格式',icon: 'none'})continue}if (file.size > props.maxSize) {uni.showToast({title: '文件大小超出限制',icon: 'none'})continue}console.log('hsjhj')uni.uploadFile({url: base + props.uploadUrl,filePath: file.path,name: 'file', // 这里根据API的要求来定义header: {// 'Content-Type': 'multipart/form-data', // 设置上传文件的 Content-Type'Authorization': `Bearer ${token}`, // 自定义头部信息,比如 Authorization'Tenant-Id': 1,'CLIENT-TOC': 'Y'},success: (uploadFileRes) => {console.log('upload success:', uploadFileRes);let data = JSON.parse(uploadFileRes.data)console.log('upload success: data', data);if (data && data.code == 0) {uploadedFiles.value.push({url: data.data.url})console.log('uploadedFiles.value', uploadedFiles.value.length);emit('update:list', uploadedFiles.value)} else {tip.error('上传失败')}},fail: (error) => {console.error('upload fail:', error);tip.error('上传失败')// 处理上传失败的逻辑}});}}const previewImage = (url) => {uni.previewImage({urls: uploadedFiles.value.map(file => file.url),current: url})}const removeImage = (file) => {console.log('hhj', file)uploadedFiles.value.splice(file.index, 1)emit('update:list', uploadedFiles.value)}const filePickerClass = {'file-picker': true,'disabled': uploadedFiles.value.length >= props.maxCount}
</script><style scoped>.image-uploader {padding: 16px;background-color: #fff;border-radius: 8px;box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);}.header {display: flex;justify-content: space-between;margin-bottom: 8px;}.upload-btn {display: flex;align-items: center;justify-content: center;width: 80px;height: 80px;border: 2px dashed #ddd;border-radius: 8px;color: #bbb;}
</style>

页面使用,预留了上传成功后的回调方法,可不传,也可以直接v-model绑定
 

      <imageUploader :max-count="4" @update:list="updateImageList" v-model:value="imageList"/>const imageList = ref([])const updateImageList = (list) => {console.log('imageList444',imageList)// imageList.value = list ,//可以赋值也可以做其他操作}

http://www.15wanjia.com/news/31910.html

相关文章:

  • 什么类型的产品可以做网站出口二级子域名ip地址查询
  • 具有价值的广州做网站代写文章质量高的平台
  • flash怎么做电子书下载网站网络营销策划书步骤
  • 怎么做网站的导航条网站建设公司服务
  • 凡科能上传自己做的网站企业网站制作多少钱
  • 网站建设教育板块常用的网络营销平台有哪些
  • 北京建设高端网站的百度引流平台
  • 分销网站建设推广赚钱平台有哪些
  • 烟台市建设工程检测站网站怎么提高关键词搜索权重
  • 中国建设银行密码重置网站信息流优化师面试常见问题
  • 专做美食的网站品牌推广方案思维导图
  • 网站备案在哪个网中国最权威的网站排名
  • 千博企业网站搜索引擎优化服务公司哪家好
  • 做网站要学会什么语言如何网上销售自己的产品
  • 做淘宝客网站要不要备案windows优化大师值得买吗
  • 外贸b2b网站如何做外链百度搜索资源
  • 网站建设是否包含等保中国旺旺(00151) 股吧
  • 网站的优化策略方案网页查询
  • 直接用apk 做登陆网站培训体系包括四大体系
  • 专业网站建设找哪家好强强seo博客
  • wordpress按作者归档百度seo关键词排名s
  • 做网站制作的公司有没有自动排名的软件
  • 网站开发项目有哪些交换免费连接
  • 建网站就找伍佰亿网络推广软件免费
  • wordpress 打开变慢福州seo博客
  • synology做网站服务器安徽网站关键词优化
  • 百家号网站开发属于什么领域企业营销型网站
  • wordpress页面顶部seo技术 快速网站排名
  • 供应商管理系统软件srm短视频seo营销
  • 人才网站南宁seo多少钱报价