美文网首页Vue.js开发技巧
在 vue 中 prop 中传递一个数组时子组件不更新的问题

在 vue 中 prop 中传递一个数组时子组件不更新的问题

作者: woodccc | 来源:发表于2018-03-19 10:36 被阅读45次

组件的功能是这样子的,需要根据一个二维数据循环渲染出多个 多选select。封装了 select 组件后,由于是多选,select 组件传入的 prop value 是一个数组。项目里使用到了 vuex,遇到的问题是在 mutation 中更新数组时直接给对应的 index 赋值是不行的,在最开始我是这样子用的。

[mutationTypes.UPDATE_SOMETHING](state, { index, selectValues }) {
    state.array[index] = selectValues
}

由于是多个select,所以 state 也是一个二维数组。最初直接给对应的 index 赋值,在 vue dev-tool 中看到的是已经更新了,但是组件不更新。后来发现需要这样子赋值才行。

[mutationTypes.UPDATE_SOMETHING](state, { index, value }) {
    state.array[index] = [
      ..._.slice(state.array, 0, index),
      value,
      ..._.slice(state.array, index + 1)
    ]
}

这样子,组件就能正常更新了。

相关文章

  • vue组件通信(父子)

    在 Vue 中,父子组件的关系可以总结为 prop 向下传递,事件向上传递。父组件通过 prop 给子组件下发数据...

  • 在 vue 中 prop 中传递一个数组时子组件不更新的问题

    组件的功能是这样子的,需要根据一个二维数据循环渲染出多个 多选select。封装了 select 组件后,由于是多...

  • vue组件传参

    父子组件通信 1、父组件给子组件传递数据,请查看下面这篇文章vue中的prop2、子组件给父组件传递数据(一般不推...

  • Vue 父子组件通信

    父组件给子组件传递数据 在组件中动态绑定(如果只想传递一个静态的prop ,可以不绑定,如下)要传递的数据 在子组...

  • vue 组件通信

    本文主要解决vue组件之间的通信问题 Prop 向下传递,事件向上传递 Prop (主要用于父组件向子组件下发数据...

  • Vue学习记录

    vue data 组件定义只接受 function 父子组件属性传递: 父组件的子组件中 v-bind :prop...

  • Vue父子组件之间的通信

    在Vue中,父子组件的关系可以总结为,父组件通过prop向下传递,给子组件发数据,子组件通过事件给父组件发送消息。...

  • React 处理渲染数组中方法的bind

    React 性能优化 渲染数组中传递给子组件的方法bind问题 少写部分代码 问题 在渲染列表时, 传递给子组件的...

  • Vue Prop传值(父to子)

    通过Prop向子组件传递数据 如何使用 第一步父组件App.vue中 解释:把父组件中的data中的users:[...

  • Vue.js中异常高效可用的.sync修饰符

    前言 在Vue.js中,父子组件进行数据通信是一个老生常谈的话题,父级组件通过Prop向子组件传递数据,而子组件如...

网友评论

本文标题:在 vue 中 prop 中传递一个数组时子组件不更新的问题

本文链接:https://www.haomeiwen.com/subject/ezuuqftx.html