V3 关于elementPlus之el-input的二次开发功能

Vue3-elementPlus二次开发系列文章目录

第一章 关于el-input的二次开发


前言

在使用elementPlus的过程中,产生了一系列需求不明确的要求,故需要对elementPlus开发的二次封装,从而达到使项目使用起来更加方便。


一、el-input的带单位的二次封装

在这里插入图片描述

二、实现思路

1.引用数据源

代码如下(示例):

 <el_input v-model="value1" style="width: 100px; height: 30px; margin-top: 15px; border: 1px solid #fff;"><template #title></template></el_input>

封装后的数据用v-model的形式去绑定数据源

2.组件封装

代码如下(示例):

<template>
  <div class="main">
    <el-input v-model="fromData" style="flex: 1;"></el-input>
    <slot name="title"></slot>
  </div>
</template>
 
<script setup>
import { ref, defineProps, defineEmits, watch } from 'vue';

const props = defineProps({
  modelValue: {
    type: String
  }
});

const emit = defineEmits(['update:modelValue']);
const fromData = ref(props.modelValue);

// 监听 fromData 变化,并在变化时触发事件更新父组件的数据
watch(fromData, (newValue) => {
  emit('update:modelValue', newValue);
});
</script>
<style lang="scss" scoped>
.main{
  width: 100%;
  height: 100%;
  // background-color: red;
  display: flex;
  align-items: center;
  padding-right: 10px;
  font-size: 12px;
}
.el-input{
  height: 100%;
}
:deep(.el-input__wrapper) {
  background-color: transparent;
  box-shadow: none;
  padding: 0
}
:deep(.el-input__inner) {
  color: #fff;
  font-size: 12px;
  text-align: center;
}
</style>

emit(‘update:modelValue’, newValue); 将数据双向绑定上
单位用插槽方式实现


总结

提示:这里对文章进行总结:

例如:以上是关于el-input的二次数据绑定的方法

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值