您的位置:首页 > Web前端 > Vue.js

vue+vux实现移动端文件上传样式

2017-07-28 10:00 906 查看

样式使用的是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实现移动端文件上传样式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  移动端 文件上传