LowCode-项目记录
数组拖拽diff处理:
在数组中给每一项打上的key功效
Vue源码阅读尚不够深,基于已有知识初步判断
数组--> ··产生key映射到组件的哈希表·· --> 产生同一层级的虚拟DOM ---> 产生同一层级的真实dom
当数组更新后,新旧虚拟dom比较(首先比较key,然后比较key对应的元素)
vuedraggable事件触发
add\remove 只会触发发生相应改变的 drag对象
start\end 触发初始点击的 drag对象
start -> add -> remove -> end
draggable标签会映射成div标签
拖拽监听事件中的event参数中的to \ from \ item 为 draggable 映射的 div 标签
预览页面
组件绑定的变量
只能由计算得到(例如el-input 的v-model需要直接绑定对应字段,但根据schema生成只能遍历计算得到字段,会被误认为是结果)
---- 将v-model
拆分成 :value
与@input
,且不能直接传计算表达式(仍然直接使用得到的值,而不是作为一个变量{供组件通信使用}),通过传入两个函数
来获取
但上述解决方式会导致对监听事件的修改变得很困难,待解决
<div
v-for="(item, index) in sublist.children"
:key="index"
class="row-item">
<el-input v-if="item.type == 'input'" v-bind="{ ...item.options }" :value="getterDigData(item.options.vModel)" @input="setterDigData($event , item.options.vModel)"></el-input>
</div>
el-input
输入每次输入后自动失去焦点
---- 原因如上代码中使用了v-for
的key使用的不是index
,导致数据更新后虚拟dom比较检测到不同,重刷页面
分类:
Vue
, JavaScript
标签:
vue
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人