当前位置: 首页 > news >正文

jsonvue-mobile 联动方式说明。

目录

jsonvue-mobile的联动类型分为两种

一种是命令式的:

另一种是响应式的:

联动场景

场景一:某一个字段的值变化时,同步修改另一个字段的值

命令式:

响应式:

场景一演示效果GIF

场景二:某一个字段的值变化时,根据该值过滤选择器组件的选项内容

命令式:

演示效果GIF

 在线体验:点我直达

jsonvue-mobile 项目地址:jsonvue-mobile: jsonvue-mobile 是基于Vue2 和 Vant 的移动端微代码表单库,仅需少许配置即可生成对应的表单页面。更专注于表单字段联动设计提供多种联动方式(命令式和响应式) (gitee.com)

更多 jsonvue-mobile 系列文章:

未完续待。。。有空再更新 


jsonvue-mobile的联动类型分为两种

一种是命令式的:

所谓命令式的就是当字段的值在交互时产生变化时会触发回调方法,然后在对应的方法中,通过查找到需要变化的字段的配置数据,然后修改。这种联动方式的有点是可溯源,变换链清晰,性能更优。更适合于赋值的联动场景。对应的表单组件为 ModuleField

另一种是响应式的:

所谓响应式就是在任何时候监听到值得变化时做出对应得变化。这种方式得优点就是使用简单,若字段名称(fieldName)一致无法溯源,大量监听可能会导致性能更差。更适合于简单的交互场景。对应的表单组件为 ModuleFieldReactive 

联动场景

场景一:某一个字段的值变化时,同步修改另一个字段的值

命令式:
<template><ModuleField ref="form" :fieldList="fieldList" @onCell="onCell"></ModuleField>
</template>export default {onCell(fieldVal,item){if (item.fieldName === 'title') {const titleCopy = this.fieldList.find(item=>item.fieldName === 'titleCopy') || {}titleCopy.fieldValue = fieldVal}}}
响应式:

 其中v-model obj 中的属性名称 对应fieldList中每个fieldName

<ModuleFieldReactive v-model="obj" :fieldList="fieldList"/>export default {watch:{'obj.title'(newVal){console.log('startCopy')this.obj.titleCopy = newVal}}}
场景一演示效果GIF

场景二:某一个字段的值变化时,根据该值过滤选择器组件的选项内容

命令式:
<ModuleField :fieldList="demo2List" @onCell="demo2OnCell" @paramsChange="onDemo2ParamsChange"></ModuleField>
onDemo2ParamsChange(row){//如果点击的是考试名称,则获取考试类型的值后加到搜索参数中去if (row.fieldName === 'exam') {const language = this.demo2List.find(item=>item.fieldName === 'language')row.postData = JSON.stringify({type:(language.fieldValue || {}).id})}}

 请求参数变化联动使用 paramsChange 事件,该事件在每次加载数据之前会触发

响应式:

演示效果GIF

 在线体验:点我直达

jsonvue-mobile 项目地址:jsonvue-mobile: jsonvue-mobile 是基于Vue2 和 Vant 的移动端微代码表单库,仅需少许配置即可生成对应的表单页面。更专注于表单字段联动设计提供多种联动方式(命令式和响应式) (gitee.com)

更多 jsonvue-mobile 系列文章:

1.微代码(低代码)移动前端库 jsonvue-mobile 使用指南-CSDN博客

未完续待。。。有空再更新 

http://www.lryc.cn/news/281146.html

相关文章:

  • abseil中的微操
  • NLP论文阅读记录 - 2022 | WOS 数据驱动的英文文本摘要抽取模型的构建与应用
  • 虹科新闻丨LIBERO医药冷链PDF温度计完成2024年航空安全鉴定,可安全空运!
  • 智能搬运机器人作为一种新型的物流技术
  • UI自动化测试工具对企业具有重要意义
  • Linux--进程状态与优先级
  • 如何实现无公网ip固定TCP端口地址远程连接Oracle数据库
  • Orchestrator源码解读2-故障失败发现
  • REST2SQL是什么?它有什么功能和特性?它值不值得我们去学习?我们该如何去学习呢?
  • Android 实现获取集合中出现重复数据的值和数量
  • 【QT学习十一】QThread
  • Mybatis 39_使用MBG生成代码
  • Hudi metadata table(元数据表)
  • 提高iOS App开发效率的方法
  • MPU机制与实现详解
  • pom文件冲突引起的Excel无法下载
  • 【HarmonyOS4.0】第十篇-ArkUI布局容器组件(二)
  • PLECS如何下载第三方库并导入MOSFET 的xml文件,xml库路径添加方法及相关问题
  • 使用emu8086实现——子程序的设计
  • 快速排序、归并排序、希尔排序(2023-12-25)
  • Qt SDL2播放Wav音频
  • [ACM学习] 动态规划基础之一二三维dp
  • Qt点击按钮在其附近弹出一个窗口
  • Springboot注解@Configuration和@Bean注解作用,生命周期
  • 30天精通Nodejs--第十五天:Websocket
  • C++深入学习之STL:2、适配器、迭代器与算法部分
  • Tiktok/抖音旋转验证码识别
  • 【Java 设计模式】设计原则
  • Druid连接池工具公式化SQL附踩坑记录
  • Linux内核--网络协议栈(二)UDP数据包发送