封装一个From表单

组件封装是为了什么呢??

               -----  复用性对吧!!

怎么来做封装呢???

                ----  考虑三点  state   props   solt 

前面我们说了做封装是为了复用,减少代码,效率更高,现在有一个后台管理系统,每个页面都是差不多的,中间的from 表单,每个页面都会用到,我总不能每个页面都写一大串吧,后期维护也不容易对吧 ,所有我们这个时候就萌发了能不能只写一个组件,每个页面只要调用一下,传入参数,控制它每个页面的显示,显示的具体内容。

好!!

1.0版本   

假设我们有三个 input 框  我想要控制三个框 一个是 文本输入框  一个是密码框 一个是数字框,input框上面有个type 属性,我给每个input框的type属性绑定一个变量 x y z  在需要调用的页面,传入参数 text  password  number ,是不是就可以实现啦~

type:x
type:y
type:z

那这样是不是可以实现,我想要这个框是什么类型,就可以实现啦~,但是我还想在这个input框上面使用不同的方法,去做修改,我还想要这个input框数量增加 于是有了2.0版本

2.0版本

那想要更好的使用这个封装,于是我们就先预估,假设我们最多需要4个input 框,最少2个input框,那我们一次性写上4个input框吧,把其中两个设置默认值,state ,为false,也就是不显示,那个页面需要,我就将状态改为true ,就可以实现增加减少的功能了,同时在绑定方法,我需要什么方法,我在通过父子通信,去写修改方法就可以了,于是完成了最基础的功能

false
false

但是突然啊,产品经理抽风啦,需要我们在这个上面增加一个按钮,或者一个头像

怎么办呢?? 于是有了3.0版本

3.0版本

这个时候就需要考虑到插槽,我给它预先留一个插槽的位置,这个时候,如果需要加需求,那咱们就直接去当前页面,自定义事件就可以啦~~

solt 自定义插槽
solt 自定义插槽

好,以上都是很理想化的假设哈~  我们真正在开发中呢,肯定不是这么简单,通常这个数据都是动态渲染,你是不知道到底需要多个input框,是否有按钮,对吧,以及每个框到底实际意义是什么,于是究极版来啦~

究极版

后端存了一段option 的数组对象,需要你渲染到页面上,这个时候,这个时候你也不知道到底这个框是干嘛的,那么我们就可以在每个input框给到一个对象,在v-for 循环出来

也就是说直接由后端去控制传入的数据,渲染出来页面

我们封装组件最主要的就是props  还有初始值  以及插槽,然后props传递的数据的话,就是type ,所以说后端只要控制传入一个数组,每个input框对应一个对象,定义它的状态值,然后我们给它加一个v-for 循环,把这个数组循环出来,页面的展示就是根据你那个后端传给你的数据来控制了,这样的话,你就可以达到一个动态的渲染页面的效果啦~~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值