【核心代码】

台达PLC变频器通讯程序

├── 通讯.dop
├── 通讯.dvp
└── 简单通讯.bmp

0 directories, 3 files

文件:590m.com/f/25127180-492990758-258960(访问密码:551685)

以下内容无关:

-------------------------------------------分割线---------------------------------------------

在常规的新增界面处理过程中,弹出的对话框是已经构建完成的了,所有界面元素已经渲染,因此能够正常解决级联问题的处理。但在编辑界面中,确无法保证界面渲染完成,导致无法级联更新的问题。我们这里再进一步探讨更新的问题:在使用Vue-TreeSelect组件的时候,用watch变量方式解决弹出编辑对话框界面无法触发更新的问题。

1、问题描述
公司-部门-人员级联下拉列表的处理如下所示。

在编辑界面的时候,如果也是使用@input的事件来处理,则得不到有效的级联关系处理。

如下,我们编辑框绑定和处理更新的界面代码如下所示,这里和新增对话框一样,采用@input事件处理更新的操作。

<el-col :span="12"><el-form-item label="所属公司" prop="company_ID"><treeselect :options="myGroupCompany" v-model="editForm.company_ID" :searchable="false":default-expand-level="Infinity" :open-on-click="true" :open-on-focus="true"@input="updateGroupCompany" placeholder="所属公司" /></el-form-item>
</el-col>
<el-col :span="12"><el-form-item label="默认部门" prop="dept_ID"><treeselect :options="myDeptTree" v-model="editForm.dept_ID" :searchable="false":default-expand-level="Infinity" :open-on-click="true" :open-on-focus="true"@input="updateDeptUser" :normalizer="normalizer" placeholder="所属部门" /></el-form-item>
</el-col>
<el-col :span="12"><el-form-item label="所属经理" prop="pid"><treeselect :options="myDeptUser" v-model="editForm.pid" :searchable="false":default-expand-level="Infinity" :open-on-click="true" :open-on-focus="true":normalizer="normalizer" placeholder="所属经理" /></el-form-item>
</el-col>

显示编辑对话框界面的代码也和新增操作类似

async showEdit (id) { // 显示编辑对话框处理if (!id || typeof (id) === 'undefined') {this.msgWarning('请选择编辑的记录!');return;}this.resetForm('editForm')await this.initData()var param = { id: id }await user.Get(param).then(data => {Object.assign(this.editForm, data.result)this.isEdit = true // 编辑状态})// 获取列表数据this.getFunctionsByUser(id)
},

不过打开已有记录的时候,第一次是无法进行级联显示正确的内容的,后面如果变化公司,则可以看到正常级联关系。猜测应该是在渲染顺序的问题,导致无法触发更新。

可以看到选框中的unknown字样,表明没有触发级联关系,没有正确获取到列表数据源。

2、用watch变量方式解决问题
既然无法通过上面的方式处理,我们来变通下,默认也是初始化所属公司列表的数据源,但不在监听它的@input事件,而是通过watch变量的方式,监控editForm里面对应的属性变化,然后在触发更新关联的内容。

我们取消@input事件,模板代码变化如下所示

            <el-col :span="12"><el-form-item label="所属公司" prop="company_ID"><treeselect :options="myGroupCompany" v-model="editForm.company_ID" :searchable="false":default-expand-level="Infinity" :open-on-click="true" :open-on-focus="true"placeholder="所属公司" /></el-form-item></el-col><el-col :span="12"><el-form-item label="默认部门" prop="dept_ID"><treeselect :options="myDeptTree" v-model="editForm.dept_ID" :searchable="false":default-expand-level="Infinity" :open-on-click="true" :open-on-focus="true":normalizer="normalizer" placeholder="所属部门" /></el-form-item></el-col>

然后监听编辑表单的两个属性变化,如下代码所示。

watch: { // 对过滤内容进行监控,实现树列表过滤
‘editForm.company_ID’: function (val, oldval) {
if (val) {
this.updateGroupCompany(val)
}
},
‘editForm.dept_ID’: function (val, oldval) {
if (val) {
this.updateDeptUser(val)
}
}
},

这样在编辑框中公司ID变化的时候,触发部门列表的更新;部门ID变化的时候,触发用户列表的更新即可。

再来看看,第一次打开用户信息,可以看到正常的进行展示了。

这样的watch监控变量的变化,还可以在同步处理很多操作,如转换界面组件的值的时候,也可以处理

watch: { // 对过滤内容进行监控,实现树列表过滤
// 键路径必须加上引号
‘addForm.tags_array’: function(val, oldval) {
if (val) {
this.addForm.tags = val.toString()
}
},
‘editForm.tags_array’: function(val, oldval) {
if (val) {
this.editForm.tags = val.toString()
}
}
},

又或者在自定义组件的时候,监控某些内容变化,触发界面更新的处理。

watch: {
ouid (value) { // 属性变化触发更新
this.ouId = value
this.getlist()
},
showaction (value) { // 属性变化触发更新
this.showAction = value
this.getlist()
}
},

台达PLC变频器通讯程序相关推荐

  1. 西门子smart200与台达MS300变频器通讯程序 触摸屏与plc以太网通讯,PLC与变频器通讯485口相连

    西门子smart200与台达MS300变频器通讯程序 器件:西门子s7 200 smart PLC,台达MS300变频器,昆仑通态触摸屏(带以太网),中途可以加路由器 控制方式:触摸屏与plc以太网通 ...

  2. 台达DVP ES系列PLC与台达MS300变频器通讯程序

    台达DVP ES系列PLC与台达MS300变频器通讯程序 器件:台达DVP ES系列的PLC,台达MS300系列变频器,昆仑通态,威纶通 功能:实现频率设定,启停控制,实际频率读取等. 资料:带注释P ...

  3. 台达DVP ES系列plc与3台台达MS300变频器通讯程序 实现频率设定,启停控制,实际频率读取等

    台达DVP ES系列plc与3台台达MS300变频器通讯程序 器件:台达DVP ES系列的PLC,3台台达MS300系列变频器,昆仑通态 功能:实现频率设定,启停控制,实际频率读取等. 资料:带注释P ...

  4. 台达DVP PLC与3台台达VFD-M变频器通讯程序

    台达DVP PLC与3台台达VFD-M变频器通讯程序 程序带注释,并附送昆仑通态有接线方式,设置. 器件:台达DVP ES系列的PLC,3台台达VFD M系列变频器,昆仑通态 功能:实现频率设定,启停 ...

  5. 不用 PLC与变频器通讯程序台达DOP触摸屏MODBUS RTU直接与台达VFD-S1变频器通讯程序

    不用 PLC与变频器通信程序 不用 PLC与变频器通讯程序台达DOP触摸屏MODBUS RTU直接与台达VFD-S1变频器通讯程序 ,台达DOP触摸屏直接与台达VFD-S1变频器通讯,这是触摸屏程序, ...

  6. 三菱FX1N与3台台达VFD-M变频器通讯程序 可直接拿来实用了,三菱FX PLC与台达变频器modbus RTU通讯

    三菱FX1N与3台台达VFD-M变频器通讯程序 可直接拿来实用了,三菱FX PLC与台达变频器modbus RTU通讯 采用器件:三菱FX1N 24MT PLC,1个FX1N 485BD板,3个台达V ...

  7. 西门子1200与台达MS300变频器通讯程序

    西门子1200与台达MS300变频器通讯程序 器件:西门子1200 PLC,台达ms300变频器,西门子KTP700 Basic Pn触摸屏,昆仑通态触摸屏(带以太网),中途可以加路由器 控制方式:触 ...

  8. 西门子200smart与3台欧姆龙e5cc温控器和3台台达MS300变频器通讯程序

    西门子200smart与3台欧姆龙e5cc温控器和3台台达MS300变频器通讯程序 器件:西门子s7 200 smart PLC,扩展模块SB CM01,3台台达MS300变频器,3台欧姆龙E5cc ...

  9. 三菱FX1s与3台台达MS300变频器通讯程序

    三菱FX1s与3台台达MS300变频器通讯程序 可直接拿来实用了,三菱FX PLC与台达变频器modbus RTU通讯 采用器件:三菱FX1s 30MR PLC,1个FX1N 485BD板,3个台达M ...

  10. 三菱FX3U与4台台达Ms300变频器通讯程序

    三菱FX3U与4台台达Ms300变频器通讯程序 通讯说明:用三菱FX3U的PLC实现与4台台达ms300变频器modbus通讯 器件:三菱FX3U PLC,三菱FX3U 485BD通讯板,台达Ms30 ...

最新文章

  1. Spring MVC文件上传
  2. C语言ftell()函数(返回文件当前位置)(返回给定流 stream 的当前文件位置)
  3. Spring EL运算符实例
  4. Jquery日历编写小练习
  5. basys2数码管共阳还是共阴_数据选择器Multiplexer || 数码管动态显示 ||实现逻辑函数 || 重难考点 || 数电...
  6. 一个ssm综合小案例-商品订单管理-第二天
  7. python socket出现ip已经使用_Python:只接受特定的IP(socket)
  8. mysql 5.7 差异备份_MySQL 5.7 新备份工具mysqlpump 使用说明 - 运维小结
  9. python 程序bug解决方案
  10. LeetCode 10.正则表达式匹配(动态规划)
  11. ArcGIS依据某一字段进行数据分层
  12. paip.程序模块间的通讯方式大总结
  13. 读《Linux运维之道》有感
  14. Java8 Stream(11)List转Map
  15. 蚂蚁金服刘伟光:我们为什么要科技开放
  16. stm32f4有重映射么_STM32单片机重映射USART设计
  17. Linux创建一个有空间大小限制的目录提供给ftp用户
  18. ubuntu20.04安装小鹤双拼输入法挂接音形改简体中文Rime
  19. 面试题--5个数能组成多少中不同的二叉搜索树的结构--卡特兰数
  20. html css工资条样式,JS+CSS3交互式拖动滑块选择工资条代码

热门文章

  1. Pycharm破解(学习python的day01)
  2. 用条件断点寻找E盾的登录、合法、算法和取服务器数据CALL
  3. Qt Designer的简单使用
  4. Java线程状态分析/线程状态转换图
  5. npm切换到国内华为云的镜像
  6. IDEA安装Yapi插件
  7. 7-2 两个有序链表序列的合并 (20分)
  8. 人口普查数据有疑问???
  9. 2021华为秋招算法工程师面试经历(实习过)
  10. 企业资源计划(ERP)原理与实践 第三章 需求计划