- 博客(13)
- 收藏
- 关注
原创 element plus 动态表单必填验证,赋值等
本文介绍了使用Element UI实现动态表单的开发经验。主要内容包括:1) 通过v-for循环渲染动态表单项,使用formData数组存储多组表单数据;2) 实现动态添加和删除表单项的功能;3) 详细说明如何为动态表单设置验证规则,包括关联关系、自身字段、关联目标表等必填项的验证;4) 展示了表单的布局结构,采用el-row和el-col实现响应式布局。该方案适用于需要动态增减表单字段的场景,并提供了完整的表单验证机制。
2025-08-14 15:43:31
134
原创 依赖注入provide和inject,实现多组件之间通信
摘要:在Vue组件嵌套中,props逐级透传会导致代码冗余。依赖注入(provide/inject)能有效解决此问题,允许父组件直接为任意深度的后代提供数据。provide用于声明可注入数据,inject用于获取上层提供的数据。支持组合式和选项式API写法,还能保持响应性链接。全局应用也可使用app.provide()。当多个父级提供相同键时,优先使用最近的父级值。
2025-07-29 11:03:06
379
原创 Vue3生命周期详解
Vue3生命周期钩子全面解析:相比Vue2,组合式API采用onX形式(如onMounted),替代选项式API。主要阶段包括:初始化(setup)、挂载(onBeforeMount/onMounted)、更新(onBeforeUpdate/onUpdated)、卸载(onBeforeUnmount/onUnmounted),新增了keep-alive相关钩子(onActivated/onDeactivated)和调试钩子(onRenderTracked)。setup()在beforeCreate之前执行,
2025-07-28 15:44:42
997
原创 ios打包APP具体流程
本文详细介绍了iOS应用打包上架App Store的完整流程。首先需检查开发者账号状态,配置Xcode项目的Bundle ID、版本号和签名设置。然后通过Xcode的Archive功能生成归档文件,选择合适的分发方式(如AdHoc测试或App Store提交)。提交到App Store Connect后需完善应用信息并选择构建版本。文章还提供了常见错误解决方案(如描述文件不匹配、图标不规范)和工具推荐(Fastlane、TestFlight)。整个流程包括:项目配置→Release模式→生成Archive→
2025-07-18 16:07:00
1271
原创 Vue组件通信:$emit、$on、$once详解
摘要:Vue的事件系统提供$emit、$on和$once三种方法实现组件通信。$emit用于触发当前实例事件并传递参数,$on持续监听事件需手动移除,$once只监听一次自动移除。适用场景包括:父子组件通信($emit)、持续监听($on)和一次性事件($once)。最佳实践建议:事件命名规范化、及时移除监听器、复杂状态管理使用Vuex/Pinia。过度使用事件总线会导致代码难以维护,应合理选择通信方式。(149字)
2025-07-08 16:40:57
453
原创 Vue3 组件通信详解:父传子、子传父组件间通讯
本文介绍了Vue3中三种常用的组件通信方式:1)父传子的props,通过defineProps定义单向数据流;2)子传父的自定义事件,使用defineEmits触发事件;3)跨层级组件的provide/inject机制。文章对比了不同方式的适用场景,指出简单通信可用props/事件,复杂状态管理推荐Pinia/Vuex。每种方式都提供了代码示例和注意事项,帮助开发者根据业务需求选择最佳通信方案。
2025-06-25 15:29:45
767
原创 报错TypeError: Right-hand side of ‘instanceof‘ is not an object已解决
在uniapp组件中接收参数时,若字段类型需支持多种,应使用数组格式指定类型,而非联合运算符。错误写法type:Number|String会报错,正确方式是type:[Number,String]。例如定义history参数时:const props = defineProps({history:{type:[Number,String],default:0}}), 这样既支持数字也支持字符串类型,且默认值为0。
2025-06-18 14:04:03
173
原创 vue3管理后台,切换页面内容不显示(已解决)
后面排查了很久,发现就算Vue3支持可以Vue页面不用单个节点包裹着,但是我们尽量还是使用单个节点进行包裹,后来我把页面元素都包裹在根节点div里面,就对了!,包括弹框啥的都放里面。
2025-03-04 14:11:07
207
原创 数组的常用方法总结
截取数组,array.slice(start,end)//start开始截取位置(不包含开始值),end结束位置(包含结束位置),负数就是从后往前,返回截取后的新数组,旧数组不变;参数:array.map((item,index,array)=>{}) item:每一项,index,下标,array:当前数组。返回新数组的长度,原数组改为添加数据后的数组;无参数,返回一个倒置后的数组,原数组也发生同样改变。数组中的元素为原始数组元素调用函数处理后的值。返回值新数组长度,原数组改变为新加值后的数组;
2024-07-25 09:34:46
921
原创 magic-bootUI框架
首先mb是基于elementVue3 + Element Plus,简单来说就是对 Element Plus的封装;像列表,表单等后台系统重要组成部分,只需写数据结构,和接口方法等,以下是一个列表的例子。用mb写项目非常方便,没有长篇复杂的html,主要是以js为主。就这样一个表格就写好啦,当然还可以自动生成代码等,更多可以访问。创作灵感:项目中用到,记录一下。以下mb简称magic-boot。
2024-07-22 14:31:43
361
1
原创 深拷贝和浅拷贝区别
如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短;如果B没变,那就是深拷贝,自食其力。浅拷贝基本含义:只复制指向某个对象的指针,而不复制这个对象本身,新旧对象共享一块内存。深拷贝含义:复制并创建一个一模一样的对象,不共享内存,修改新对象旧对象不会变。深拷贝是各自单独的栈内存和堆内存,是一个新的值,所以A值改变B不会变;浅拷贝是共享一个堆内存,所以A改变值,B会跟着变化;,但注意它不能复制不可枚举的属性、函数、循环引用等。
2024-07-22 14:18:29
209
原创 uview-plus SwipeAction 滑动单元格怎么手动关闭
因为项目中要用到滑动单元格,按钮操作后不关闭,样式就有问题,加了官方QQ群没无结果,后来自己琢磨了好多天,终于看源码解决了;
2024-01-31 16:25:27
916
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人