element-ui 二次封装系列- button
elementUI是一个vue.js的ui框架, 在做后台管理系统等方面非常出色,然而面对重复的后台管理系统,大量重复的代码, 这里我们将使用elemnt ui做二次封装,以扩展element ui的属性 来简化代码.
本文以 el-button
为例el-button
是最简单的组件了,所有操作都需要用到它, 它仅对外提供click事件. 在平时工作中,我们经常遇到一个 重复点击的问题,点太快了接口没有返回会导致多次重复请求,这时我们会想到使用防抖或节流,或者使用el-button
的loading
属性, 如果使用loading
属性, 通常 我们会在vue
的data
中定义一个loading
变量,然后调用ajax之前将loading
设置为true
, ajax返回后将loading
设置为false. 这是比较合理的办法,但是如果一个系统非常多这种情况, 那我们需要每一个页面都去定义一个loading
变量,作为一个合格的程序员,我们当然想不要写这么多重复的代码,这时候就需要对el-button
做二次封装了, 如下代码,我们封装一个pl-button
组件
https://juejin.cn/post/6916474993635229704
如果要全部输入框都支持“不允许输入纯空格”,就将它封装成全局组件,看似完美,但是你会发现,el-input组件除了可以进行值的双向绑定,它还支持size、readonly、disabled...等18个属性,7个事件,于是接着写一大堆“中间代码”来继承原有el-input的各种属性、事件。
<template>
<el-input v-bind="$attrs" v-on="$listeners" @change="handleChange"></el-input>
</template>
<script>
export default {
methods: {
handleChange(value) {
if (Object.prototype.toString.call(value) === '[object String]' && value.trim() === '') {
this.$emit('input', '')
}
}
}
}
</script>
https://www.jianshu.com/p/1cecb13add26
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2021-01-12 虚拟列表(ScrollView) ,需要显示大量Item时能大幅降低Drawcall Creator 登录
2021-01-12 cocos creator学习16——滚动列表数据的动态加载
2017-01-12 unity 2d 游戏优化之路 遇坑记录