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

vue动态组件实现动态表单的方法

本文获取动态列和动态表单的后端使用数据库存储,使用java接口获取代码内容。

后端代码我就不粘贴出来了,就是普通的从数据库中获取代码,获取到的代码例子如下:

已下代码是iview的modal信息

    <Modal width="800" v-model="modal" title="新增"  :mask-closable="false" ><i-Form :model="saveform" ref="saveform" :rules="ruleValidate" :label-width="100"><row><i-col span="12" ><Form-Item label="代码" prop="dm"><i-Input v-model="saveform.dm"></i-Input></Form-Item></i-col><i-col span="24" ><Form-Item label="名称" prop="mc"><i-Input v-model="saveform.dm"></i-Input></Form-Item></i-col></row></i-Form><div slot="footer"><i-button type="text" @click="modal=false">取消</i-button><i-button type="info" @click="save">保存</i-button></div></Modal>

 前端页面中加入自定义组件:

    <!-- 动态组件注入 --><component :is="dynamicComponent" :saveform="saveform" ref="dynamicComp"></component>

 然后在vue的create生命周期中,加入已下代码,用于注册动态表单:

data: {dynamicComponent: null
},	
created: function () {let self = this;var url = baseUrl + 'xxxxxx';let pro = new Promise((resolve, reject) => {$.ajax({url: url,type: 'POST',data: {},dataType: 'json',success: function (res) {let nr = res.content.nr;try {resolve(nr);} catch (error) {reject(error);}},error: function (err) {console.log('err:', err);reject(err);}});});pro.then(result => {console.log('结果:', result);// 创建一个动态组件const DynamicModal = {template: result,props: ['saveform'], // 接收父组件传递的数据data() {return {modal: false,saveform: {dm:null,mc:null}};},methods: {save: function () {var self = this;console.log('这是保存方法');},}};// 在 Vue 实例中注册动态组件app.$options.components.DynamicModal_1 = DynamicModal;// 在模板中使用动态组件self.dynamicComponent = 'DynamicModal_1';console.log('结果:self', self);}).catch(error => {console.log('出错:', error);});},


http://www.mrgr.cn/news/98696.html

相关文章:

  • 从标准九九表打印解读单行表达式的书写修炼(Python)
  • 05-DevOps-Jenkins自动拉取构建代码
  • Rust : 关于*const () 与type erase
  • ReportLab 导出 PDF(图文表格)
  • 21天Python计划:零障碍学语法(更新完毕)
  • OSPF综合实验
  • Oracle 中的 NOAUDIT CREATE SESSION 命令详解
  • 双指针算法(一)
  • GR00T N1:面向通用类人机器人的开放基础模型
  • 一天时间,我用AI(deepseek)做了一个配色网站
  • Leetcode 325. 和等于 k 的最长子数组长度【Plus题】
  • PyTorch - Tensor 学习笔记
  • 【前端】Vue一本通 ESLint JSX
  • Vue3+Vite+TypeScript+Element Plus开发-17.Tags-组件构建
  • 解决Flutter 2.10.5在升级Xcode 16后的各种报错
  • Maven 多仓库与镜像配置全攻略:从原理到企业级实践
  • 解决 Vue 中 `v-model` 获取不到值的问题:一步步排查与解决方案
  • TMS320F28P550SJ9学习笔记16:Lin通信SCI模式配置TX发送结构体寄存器
  • 如何利用GM DC Monitor快速监控一台网络类设备
  • CompletableFuture