样式使用的是vux的cell组件 如下图的官方demo样子
上图的样式需要修改一下,把 保护中 修改成一个图片 并且内嵌一个input type=‘file'
就可以拥有好看的样式的文件上传了
<!--引入组件--> import { Cell } from 'vux' <!--官网的组件是这么写的--> <group> <cell title="title" value="value"></cell> </group>
下面我们要改造cell变成我们想要的结果
<cell title="附件" @click.native.stop="openFile"> <input type="file" @change="fileChange()" style="display: none" ref="file"multiple="multiple"> <i class="fa fa-file"></i> </cell>
解释一下:
@是v-on的缩写;在组建中调用原声clik要加native;stop解释不清楚,请读者百度
input相当于隐藏了,再也看不到那么丑陋的样式了
i标签是图片,使用了fontawesome
的样式,在main.js里边引入
import '../node_modules/font-awesome/css/font-awesome.min.css'
如果不使用fontawesome
也可以添加样式
style="background: url("图标地址../../的形式");"
现在移动端的文件上传html+css已经写完了
js代码如下:
openFile(){ this.$refs.file.click(); }
解释一下:
html中给input绑定了一个属性ref = ‘file'
我个人觉得相当于 给input赋值一个id
在通过this.$refs.file
就相当于document.getElementById('file');
这个都是vue特有的功能;比较特别的dom操作
然后click()方法就会打开文件;
至于@change()方法待续!!!这个方法不大众化,需要单独写!
以上所述是小编给大家介绍的vue+vux实现移动端文件上传样式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对北冥有鱼网站的支持!
您可能感兴趣的文章:
- Vue axios 中提交表单数据(含上传文件)
- vue实现文件上传功能
- vue项目中使用axios上传图片等文件操作
- vue webuploader 文件上传组件开发
- vue中用H5实现文件上传的方法实例代码
- vue使用axios实现文件上传进度的实时更新详解
- Vue封装一个简单轻量的上传文件组件的示例
- vue.js异步上传文件前后端实现代码
- vue中使用input[type="file"]实现文件上传功能
- Vue Element UI + OSS实现上传文件功能