vue一步一步带你封装一个按钮组件

# 前言
本文主要对子组件的封装做一个了解
首先我们直接看一下代码显示 首先是今天有一个学妹
过来问我如何封装子组件

# 实现效果

首先这个组件是基于eleemnt-ui进行封装的
我们看一眼实现效果

 

有了实现效果 之后
我们一起来看看他的父子组件

有了实现效果 之后
我们一起来看看他的父子组件

父组件

   <geyaoInputSearchclass="r"placeholder="按服务器名称搜索"ref="searchInput"@search="searchData"></geyaoInputSearch>


子组件

<template><!-- --><div class="geyao-input-search"><!--  封装带有文本框的按钮模式  --><!--   placeholder 按钮的提示文字 --><!--  inputText文本框绑定的值  --><!--  获取焦点进行一个置空操作  --><!--    --><el-input:class="['input-content', inputText != '' ? 'input-hover' : '']":placeholder="inputPlaceHolder"v-model="inputText"@focus="clearPlaceHolder()"@blur="setPlaceHolder()"@input="changeContent()"@keyup.enter.native="searchEnterFun">
​<span slot="suffix" @click="clearText"><i class="eicon e-error icon-search"></i></span></el-input><el-buttonclass="search-content":class="searchBtn ? 'btnOn' : 'btnOff'"icon="eicon e-search"@click="searchData"></el-button></div>
</template>
​
<script>
export default {data() {return {inputText: '',searchBtn: false, //判断搜索框是否有输入的状态
​/*按钮框的提示文字*/inputPlaceHolder: ''}},props: {placeholder: {type: String,default: '请输入内容'}},watch: {inputText: function(newValue, oldValue) {this.changeContent()}},created() {this.inputPlaceHolder = this.placeholder},methods: {clearText() {this.inputText = ''this.searchData()},/*获取焦点就将placehoder置空*/clearPlaceHolder() {this.inputPlaceHolder = ''},setPlaceHolder() {this.inputPlaceHolder = this.placeholder},//监听搜索框的输入状态来改变搜索按钮changeContent() {if (this.inputText != '') {this.searchBtn = true} else {this.searchBtn = false}},searchData() {this.$emit('search', this.inputText)
​},searchEnterFun(e) {var keyCode = window.event ? e.keyCode : e.whichif (keyCode == 13) {this.searchData()}}}
}
</script>
​
<style lang="scss">
.geyao-input-search {.input-content {/*宽度200px*/width: 200px;/*设置radio样式*/.el-input__inner {border-radius: 2px 0 0 2px;padding: 0 10px;}
​.icon-search {display: none;}}.input-hover {&:hover {.icon-search {font-size: 15px;color: #cccccc;display: inline-block;}}.el-input__inner:focus + .el-input__suffix {.icon-search {display: inline-block;}}}.search-content {font-size: 14px;width: 36px;height: 32px;border-left: 0;padding: 0;border-radius: 0 2px 2px 0;background: #f5f5f5;color: #999999;border-color: #d9d9d9;box-sizing: border-box;-webkit-box-sizing: border-box;vertical-align: top;}.btnOn {background: #337dff;color: #ffffff;border-color: #337dff;}.btnOff {background: #f5f5f5;color: #999999;border-color: #d9d9d9;}.el-input__suffix {top: 8px;right: 9px;cursor: pointer;}.icon-search {font-size: 15px;color: #cccccc;}
}
</style>


# 解释
首先父子组件怎么引入就不多说了
直接说主要知识点 从上向下理解
# 第一行
 class修改绑定一个类 一个三元运算符

# 第二行
 inputPlaceHolder是父亲组件的值 直接父子组件传值
 值为空的时候

 # 第三行
获取焦点的时候把inputPlaceHolder置空

# 第四行
失去焦点的时候将inputPlaceHolder显示

# 第五行
输入的时候父子触发显示X号按钮

我是歌谣 放弃很容易 但是坚持一定很酷

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习基础--一些基本的概念

前言 开始重新巩固一下机器学习的内容&#xff0c;先从基本的一些概念和定义开始。 本文介绍的内容如下所示&#xff1a; 机器学习的基本定义局部最优和全局最优机器学习、深度学习、数据挖掘、大数据之间的关系为什么要使用机器学习 1. 机器学习的基本定义 机器学习算法是…

COM组件简介

面向对象的思想难以适应这种分布式软件模型&#xff0c;于是组件化程序设计思想得到了迅速的发展。 按照组件化的程序设计的思想&#xff0c;复杂的应用程序被设计成一些小的&#xff0c;功能单一的组件模块&#xff0c;这些组件模块可以运行在同一台机器上&#xff0c;也可以运…

域名与国家对应表

本文转自 CBuilder 研究 - http://www.ccrun.com/other/go.asp?i240&d6dx0tl.ac – Ascension Island.ad – Andorra.ae – United Arab Emirates.af – Afghanistan.ag – Antigua and Barbuda.ai – Anguilla.al – Albania.am – Armenia.an – Neth…

[论文笔记]基于 CNN+双向LSTM 实现服饰搭配的生成

论文&#xff1a;《Learning Fashion Compatibility with Bidirectional LSTMs》 论文地址&#xff1a;https://arxiv.org/abs/1707.05691 代码地址&#xff1a;https://github.com/xthan/polyvore 1. 简介 时尚搭配推荐的需求越来越大&#xff0c;本文是基于两个方面的时尚…

WangEdit富文本编辑器增加上传视频功能

乘着今天中午的时间 对以前项目的一个需求进行一定的处理 前天去了甲方公司 接到了了一个新的需求 就是可以把项目的一个富文本的编辑器可以设置为能够上传视频 于是乎 就要对vue里面的这个组件进行操作了 首先我们可以看一眼官网的文档 需要用到的就直接到官网文档进行查询即可…

大学生应当趁早谋划未来

最近&#xff0c;有几个CSDN网友&#xff0c;主要是在校大学生&#xff0c;遇到了一些困惑&#xff0c;寻求我的“解惑”。我的表弟&#xff0c;大四即将毕业&#xff0c;也是如此。上大学的时候&#xff0c;我也经常遇到困惑&#xff0c;非常迷茫&#xff0c;我非常能理解他们…

[论文笔记]Outfit Compatibility Prediction and Diagnosis with Multi-Layered Comparison Network

Outfit Compatibility Prediction and Diagnosis with Multi-Layered Comparison Network 论文题目&#xff1a;Outfit Compatibility Prediction and Diagnosis with Multi-Layered Comparison Network 论文地址&#xff1a;https://arxiv.org/abs/1907.11496 代码&#xf…

介绍一种Web上打印技术

一、 介绍ScriptX控件对于B/S架构的项目中&#xff0c;Web打印最是让程序员头痛的技术&#xff0c;在这次项目中运用了第三方控件ScriptX解决了此技术包括各种汇总表&#xff0c;详细清单等等&#xff0c;但最大弊端就是打印的格式是死的&#xff0c;你要打印出怎样的格式必…

关于如何参与到开源项目中《How To Succeed In Open Source ( In Ways You Haven't Considered Yet )》...

转自&#xff1a;http://gaslight.co/blog/how-to-succeed-in-open-source-in-ways-you-havent-considered-yet It’s Easy to Feel Entitled in the Open Source World A while back, it was easy to think of open source projects as real products. I think that I thought…

[论文笔记]弱监督条件下基于相似性条件学习的服饰搭配生成

论文&#xff1a;《Learning Similarity Conditions Without Explicit Supervision》 论文地址&#xff1a;https://arxiv.org/pdf/1908.08589.pdf 代码地址&#xff1a;https://github.com/rxtan2/Learning-Similarity-Conditions 本文首发于 https://mp.weixin.qq.com/s/WH…

分类法过时了吗?【ZZ】

分类法过时了吗&#xff1f;引用网址: http://www.qiji.cn/baike/contents/122.html 更新日期: 2005年6月09 周四 Posted By ianwest 更多 标签: YAHOO Sina Google 页面工具: [前一项] [后一项] { 发表评论 } 计算机和互联网的出现意味着新阅读时代的来临&#xff0c;如何组织…

Linux抓包工具tcpdump命令详解

1、简介 用简单的话来定义tcpdump&#xff0c;就是&#xff1a;dump the traffic on a network&#xff0c;根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或…

神经网络不收敛的 11 个原因及其解决办法

原文&#xff1a;http://theorangeduck.com/page/neural-network-not-working 原文标题&#xff1a;My Neural Network isn’t working! What should I do? 译文作者&#xff1a;kbsc13 联系方式&#xff1a; Github&#xff1a;https://github.com/ccc013 知乎专栏&…

【转贴】想应聘的瞧仔细了:HW分析大全

首先浇盆冷水&#xff1a;2000年之后进HW的人&#xff0c;彻底抛弃发财的想法。没有股票和期权&#xff0c;在HW呆和在国企呆一个样&#xff0c;就是干工资和年中一点奖金。真正发财的人是98年及以前进来的&#xff08;工号在15000以内&#xff09;&#xff0c;每年股票分红在十…

7 个有用的 PyTorch 技巧

原文&#xff1a;https://www.reddit.com/r/MachineLearning/comments/n9fti7/d_a_few_helpful_pytorch_tips_examples_included/ 原文标题&#xff1a;a_few_helpful_pytorch_tips_examples_included 译文作者&#xff1a;kbsc13 联系方式&#xff1a; Github&#xff1a;…

18 个经典故事

1 曾经有个小国到中国来&#xff0c;进贡了三个一模一样的金人&#xff0c;金壁辉煌&#xff0c;把皇帝高兴坏了。可是这小国不厚道&#xff0c;同时出一道题目&#xff1a;这三个金人哪个最有价值&#xff1f;   皇帝想了许多的办法&#xff0c;请来珠宝匠检查&#xff…