Fork me on GitHub

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

Coding Poineer

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比较检测到不同,重刷页面

posted @   365/24/60  阅读(50)  评论(0编辑  收藏  举报
编辑推荐:
· 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训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示