programing

소품이 바뀌었을 때 Vue child 컴포넌트가 재생되지 않았습니까?

javaba 2022. 8. 14. 16:51
반응형

소품이 바뀌었을 때 Vue child 컴포넌트가 재생되지 않았습니까?

제 어플리케이션에서는 vuex를 사용하여 컴포넌트 상태를 관리하고 있습니다.vuex 돌연변이로 상태가 바뀌면 자 컴포넌트가 재렌더되지 않습니다.다음은 Code Sandbox 코드입니다.https://codesandbox.io/s/l3lrwv6yll

빨간색 영역에 항목을 추가하기 위해 파란색 영역의 헤더를 클릭하면 변환이 작동합니다.그러나 편집 버튼을 클릭해도 헤더 컴포넌트의 계산된 속성은 변경되지 않았습니다.

누구 나 도와줄 사람?

당신의 돌연변이로editField를 사용해야 합니다.Vue.set어레이의 변경을 검출하려면:

   editField(state, { index }) {
      let update = state.formFieldList[index];
      Vue.set(state.formFieldList, index, {
        name: update.name,
        schema: {
          ...update.schema,
          edit: true
        }
      })
    },

Vue 문서 확인 - 어레이 변경 경고

언급URL : https://stackoverflow.com/questions/51478397/vue-child-component-didnt-rerender-when-props-changed

반응형