您现在的位置是:网站首页> 编程资料编程资料
Vue3根据动态字段绑定v-model的操作代码_vue.js_
2023-05-24
395人已围观
简介 Vue3根据动态字段绑定v-model的操作代码_vue.js_
因业务需要用到低代码,v-model绑定的是随机生成的

VUE动态绑定v-model变量(ui框架iview)
需求
最近在学习vue技术,开发表格的时候,想把表格做成组件,那查询条件就需要动态生成,这就遇到一个问题,vue怎么动态给v-model变量值。
UI框架使用的是iview
页面渲染(子组件)
子组件js
export default { name: "TableSearch", props: { formArray: { type: [Object, Array], default: () => {}, //这边是箭头函数 }, }, data() { var dataInit = { formInline: {}, //查询条件form }; return dataInit; }, watch: { // 处理循环的数据 formArray() { this.formArray.map((item) => { if (item && item.model && item.modelValue) { this.$set(this.formInline, item.model, item.modelValue); } }); }, }, methods: { //搜索 SeachHanler() { this.$emit("on-search", this.formInline); } }, mounted() {}, created() {}, }; 父组件使用
data() { return { formArray: [ { componentType: "input", type: "text", model: "UserName", modelValue: "用户1", placeholder: "请输入用户名1111", label: "用户名111", id: "1", }, { componentType: "input", type: "text", model: "Phone", modelValue: "11111", placeholder: "请输入电话", label: "电话", id: "2", } ] }; }, 遇到的问题以及解决
1.问题: 怎么让变量值绑定到v-model上
解决: v-model="formInline[formItem.model]"
其中formInline是在form组件上定义的一个对象
2.问题:变量值绑定上去了,怎么去让数据显示到子组件的“data”中
解决: 通过watch监听 formArray的值变化,然后使用下面的代码进行反显,不然会导致v-model绑定的变量无法修改。this.$set(this.formInline, item.model, item.modelValue);
到此这篇关于Vue3根据动态字段绑定v-model的文章就介绍到这了,更多相关Vue3动态绑定v-model内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- echarts自定义legend样式的详细图文教程_javascript技巧_
- vue 实现列表跳转至详情且能添加至购物车功能_vue.js_
- el-table表格动态合并行及合并行列实例详解_vue.js_
- express提供http服务功能实现示例_node.js_
- element ui富文本编辑器的使用效果与步骤(quill-editor)_vue.js_
- vue关于下载文件常用的几种方式_vue.js_
- 一文详解如何在vue中实现文件预览功能_vue.js_
- 微信小程序引入map组件并在地图上标点的实现代码_javascript技巧_
- vue如何通过router-link或者button跳转到一个新的页面_vue.js_
- vue3中setup语法糖下通用的分页插件实例详解_vue.js_
