Skip to content

上传 Upload

用于图片上传

静态组件模版渲染

单图上传

显示代码
html
<div class="open-container">
	<div id="upload-one" class="open-upload" >
		<div class="open-upload-img"></div>
		<div class="open-upload-box">
			<input type="file" class="open-upload-input" openui-type="image/png|image/jpeg|image/webp" >
			<p class="open-upload-icon"></p>
		</div>
	</div>
</div>

// 自动渲染静态模版
openui.upload.renderStatic();

// 监听静态组件上传事件
// 调用组件on方法,参数是静态组件id
// 选择图片后会返回图片信息
upload.on('#upload-two',function(res){
	console.log(res)
})

多图上传

input元素添加"multiple"属性即可,默认最多选择9张图

显示代码
html
<div class="open-container">
	<div id="upload-two" class="open-upload" >
		<div class="open-upload-img"></div>
		<div class="open-upload-box">
			<input type="file" class="open-upload-input" openui-type="image/png|image/jpeg|image/webp" multiple>
			<p class="open-upload-icon"></p>
		</div>
	</div>
</div>

// 自动渲染静态模版
openui.upload.renderStatic();

// 监听静态组件上传事件
// 调用组件on方法,参数是静态组件id
// 选择图片后会返回图片信息
upload.on('#upload-one',function(res){
	console.log(res)
})

动态组件渲染

单图上传

显示代码
html
<div class="open-container">
	<div id="upload-three"></div>
</div>

// 动态渲染upload
openui.upload.render({
	id: '#upload-three',
	type: 'image/png|image/jpeg|image/webp',
	limit: 6,
	size: '100px',
	multiline: true,
	before: function(files){
		console.log(files)
	},
	click: function(res){
		console.log(res)
	}
})

API

API描述
upload.render(options)动态渲染方法
upload.renderStatic()静态渲染方法
upload.on(id,()=>{})事件监听方法

动态渲染方法

upload.render(options)

  • 参数options:基础属性配置
属性名描述类型必填默认值
iddom选择器string-
type图片过滤类型string"image/png | image/jpeg | image/webp"
multiline是否开启多选booleanfalse
limit设置最大选几张,最多只能选9number9
size图片选择器大小:宽和高string80px
  • 回调函数

options.click 选择图片预览后的回调函数

js
// 单图模式下返回图片对象
click: function(file){
	console.log(file)
}

// 多图模式下返回图片列表对象
click: function(files){
	console.log(files)
}

静态渲染方法

upload.renderStatic() 自动获取页面符合条件的dom元素进行初始化渲染

事件监听方法

upload.on(id,(res)=>{})

js
// 选择图片时,会触发组件监听方法
// 返回当前操作图片信息
// 静态组件,动态组件都会触发
upload.on(id,(res)=>{
	console.log(res)
})