除了一些特殊的样式,文章不会大量贴出CSS代码,由于我SASS功底不是很好,CSS代码看起来也是比较臃肿,感兴趣的同学可以自行查看源码
目录结构
基本就是一个组件的.vue文件和一个对应的index.ts...,至于哪种更好用就仁者见仁,智者见智了
vue3中给组件绑定值使用的是modelValue,具体的用法请看代码或者移步vue3官网
比较复杂的就是内容校验,我使用的是策略模式进行封装,易于扩展.验证的时候只需要调用...我这里是结合message组件,当验证不通过的时候就提示错误信息,也可以在组件中加一个标签结合v-show在输入框下方进行错误提示,就如同一些大型的组件库那样,但是我试了不是很好看,就没有采用这种方式...由于vue3中的on,off等指令的移除,为了能结合Form组件进行整体验证,我使用了mitt这个插件,它的作用和on,off是一样的,只不过不内置在vue3中了.具体的使用方法请查看mitt.js官网...,超级简单就不讲了.在Input组件初始化的时候触发一个方法,向Form组件添加验证函数,Form组件有一个对应的方法收集所有的验证函数,用于统一验证
可以看到我这里是套了一层div的,所以为了让我在使用组件时绑定的属性