当前位置: 首页 > Web前端 > vue.js

使用Vue自定义文件选择器组件(基础很简单,但需要掌握思路)

时间:2023-03-31 15:05:46 vue.js

.file-select>.select-button{padding:1rem;白颜色;背景色:#2EA169;边界半径:.3rem;文本对齐:居中;font-weight:bold;}/*不要忘记隐藏原始文件输入!*/.file-select>input[type="file"]{display:none;}喜欢再看一遍,养成习惯本文已收录到GitHubhttps://github.com/qq44924588...更多往期好评文章的分类,也整理了很多我的文档和教程资料。欢迎来到星和完美。面试时可参考考点复习。我希望我们能在一起。文件选择元素是网络上最丑陋的输入类型之一。它们在每个浏览器中的实现方式不同,而且它们通常非常难看。这里有个解决办法,就是把它封装成一个组件。安装如果您还没有设置项目,您可以使用vue-cli的webpack-simple模板启动一个新项目。$npminstall-gvue-cli$vueinitwebpack-simple./file-upload#按照提示操作$cd./file-upload$npminstall#oryarncomponenttemplateandstyle这个组件主要做的是输入类型的="file"元素包裹在标签中并显示其中的其他内容。这个想法虽然简单,但是非常实用。//FileSelect.vue现在让我们添加一些样式来美化它://FileSelect.vue....file-select>.select-button{padding:1rem;白颜色;背景色:#2EA169;边界半径:.3rem;文本对齐:居中;font-weight:bold;}/*不要忘记隐藏原始文件输入!*/.file-select>input[type="file"]{display:none;}对浏览器的封装逻辑话说,file是一种很特殊的类型,所以有一些特殊的规则,使得它们有时很难处理。(点击这里查看更多信息)。因此,我们可以使用v-model进行封装,让这个组件表现得像一个普通的表单元素。我们知道v我们知道Vue是单项数据流,而v-model只是语法糖,如下所示://上面等价于下面的了解了v-model的原理,我们来实现FileSelect组件的逻辑://FileSelect.vue用法现在,让我们使用FileSelect组件//App.vue总结虽然这个例子很简单le和basic,我们这里可以使用在开发中,虽然单向数据流简单易读,但是在一些实际开发中,Vue的自定义组件使用双向绑定,即v-model,会更加灵活实用的,我们理解和掌握这个思路很有必要,希望对大家有所帮助。相应的视频教程将在下一节的公众号上发布,敬请期待。代码部署后可能存在的bug,无法实时获知。事后为了解决这些bug,花费了大量的时间在日志调试上。顺便推荐一个好用的bug监控工具Fundebug。作者:JoshuaBemenderfer译者:前端小智来源:Codepen原文:https://bootstrap-vue.js.org/...交流文章每周更新,微信搜索“大千世界”即可阅读和立即阅读Reminder(比博客早一两篇),这篇文章已经收录到GitHubhttps://github.com/qq449245884/xiaozhi,整理了很多我的文档。欢迎明星和完美。面试复习可以参考考点,关注公众号,后台回复福利就可以看到福利,就知道了。