Skip to content

对于设置了唯一key的组件, 更新数据后会把旧数据重新更新一遍 #1642

@hereisfun

Description

@hereisfun

[扼要问题描述]

mpvue 版本号:

[[email protected]]

最小化复现代码:

[建议提供最小化可运行的代码:附件或文本代码]

index.vue

<template>
  <view @click="add" key='container'>
    <t-text :content="'t-text count: ' + count" :key="count" />
    <text>\n real count: {{count}}</text>
  </view>
</template>

<script>
import TText from "./t-text"
export default {
  components: {
    TText,
  },
  data() {
    return {
      count: 0,
    }
  },
  methods: {
    add() {
      this.count++
    },
  }
}
</script>

t-text.vue:

<template>
  <text>{{content}}</text>
</template>

<script>
export default {
  props: ['content']
}
</script>

问题复现步骤:

  1. 点击view

观察到的表现:

  1. 第一行(组件)的数字先从0变成1,再瞬间变回0
  2. 第二行(原生text)的数据从0变成1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions