使用Vue选择如何绑定动态变量

  介绍

本篇文章为大家展示了使用Vue选择如何绑定动态变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<强>概述

根据后台的数据生成多个选择,由于数据的数量不定,所以v模型绑定的变量名也不定。所以通过数据的id或者下标进行变量拼接。页面能够成功渲染,但是当进行下拉框的选值时,组件不刷新,选中的结果并没有展示

<强>代码

& lt; div)=皌agAllDate"(项目,指数);:关键=癷ndex"比;   & lt; el-form-item: label=癷tem.name"祝辞   & lt; el-select v模型=癳ditData [& # 39; line_& # 39;+指数]“;多个占位符=扒胙≡瘛?比;   & lt; el-option v=癷tem.sub_list" (itemO, o);:关键=皁":标签=癷temO.name":价值=https://www.yisu.com/zixun/" itemO.tag_id ">         

editdata是声明的对象

editdata: {},

由于我们需要进行变量的动态拼接,所以不能使用“对象。属性”这种语法,使用中括号[]可以方便我们进行属性名的动态拼接。因为属性名并不能提前知道,所以editData中不能提前声明变量。而这就是问题的关键所在。

<强>问题

由于v模型绑定的值没有声明,所以组件渲染后,当进行下拉选择时,选项的值并没有显示在组件中。但是输出结果时,值已经被选中了。也就是说,能够选到值,但页面上组件无响应。

如果假定我们拼接的id为[1,2,3],所以变量名为line_1, line_2, line_3。在editData中依次声明这些变量后,组件显示正常。

<强>结论

el-select组件需要绑定明确的变量,如果变量没有提前声明,则组件选择时界面将会无响应。

tagAll () {   这一点。加载=true;   tagAll ()。(反应=比;{   如果响应。ret==0) {   response.data。forEach((项目,索引)=祝辞{   设置(这美元。editData,“line_"+指数[])   });   这一点。tagAllDate=response.data;   其他}{   美元。message.error (response.res_info);   }   这一点。加载=false   })   },

按照官方说明,在初始化的时候,会生成属性的getter、setter。通过setter函数的调用,从而触发组件更新。而直接赋值,并没有setter函数的触发。

editData是动态的,里面的line_也是动态的,如何去获取这些信息呢

使用Vue选择如何绑定动态变量

对象是editDate。但是里面的line_0是动态创建的,就是说,editDate里面有多少的数据不知道,可能是:line_0 line_1 line_2然后这些每一个都是数组,现在要拿到这些所有的数组里面的数据。

<强>做法

首先循环这个对象拿到所有的键的值,就是line_0 line_1这些关键

 (var) {
  this.editData [a]。forEach((项目、索引)=比;{
  console.log(项)
  });
  }

<>强vue-element-admin使用常见问题

<强>一、vue-element-admin添加快捷导航

使用Vue选择如何绑定动态变量

这个组件是基于vue-i18n因此,首先在项目中安装i18n

npm安装,节省vue-i18n

然后主要。js中引入

从& # 39;进口i18n。/lang # 39;//国际化

然后注意src下边朗文件夹的引入之。后在布局文件夹中,添加组件:tags-view就可以了。

<强>二,去掉模拟使用真实数据。

主要。js中找的到,模拟的引入直接注释掉,就好了。所有的接口请求都在api下边

使用Vue选择如何绑定动态变量