自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 javascript 时间刻度尺 ruler 插件

【代码】javascript 时间刻度尺 ruler 插件。

2023-08-16 14:59:39 1628 9

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除