vue.js在element UI中的select中的每个循环体怎么独立起来

在element UI中的select中的每个循环体怎么独立起来
我循环之后数据共享了,原因是用的都是一个数组,我怎么才能不用一个数组呢,因为数据都是push

clipboard.png

clipboard.png

页面的效果是这样的

clipboard.png

每次一选择之后都同步了,问怎么
我每次点击
clipboard.png

clipboard.png

我是这样添加的,还有问题就是我怎么把每个文本框里面的数据拿到呢,我现在也拿不到数据了,循环的问题还是、?

阅读 3.2k
2 个回答

v-model='value'
如果你的所有select都是这样写的,那么只要一个变了 全部都一起动,解决方法就是
select1 v-model='value1'
select2 v-model='value2'
...
...
以此类推。
建议还是看一下vue官方文档多写几个的demo吧。

你的option是基于静态数据循环的,但是每个任务看起来并不是基于新的对象进行添加的。

这样看起来每个任务其实都是vue监听的同一个对象,所以改变select其他的也会跟着变。

vue实例中data被监听的对象不经过深复制始终只有一份,所以你的list里很有可能只是添加了四个同一个对象的引用,这些引用指向同一个被监听的数据,所以实质上输入框应该也是共享的吧。

另外我仔细看了一下,select绑定的是一个叫value的值,options是基于items循环的。那么你设想一下,如果所有的select绑定的都是这个value,那是不是就共享了。

循环你可以不用管了,items是静态输出,不会影响最终你选择的值是多少,更不会直接影响其他select的value

推荐你在检查一下添加任务的逻辑,不要试图将被监听的对象push到数组中,因为你永远push的都是引用。这种情况一般做法都是暂存一个任务模板,然后添加的时候基于那个模板进行深拷贝在push到数组

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题