Suc*_*Man 3 vue.js vue-component vuex vuejs2
我知道解决方案是像这样更新prop数据:
this.selectedContinent = ""
Run Code Online (Sandbox Code Playgroud)
但我想使用另一种解决方案
在阅读了一些参考资料之后,解决方案是:
this.$forceUpdate()
Run Code Online (Sandbox Code Playgroud)
我尝试了,但是没有用
演示和完整代码如下:
https://jsfiddle.net/Lgxrcc5p/13/
您可以单击按钮测试来尝试
除了更新属性数据外,我还需要其他解决方案
您必须为组件分配一个密钥。当您要重新渲染组件时,只需更新密钥即可。更多信息在这里。
<template>
<component-to-re-render :key="componentKey" />
</template>
export default {
data() {
return {
componentKey: 0
}
},
methods: {
forceRerender() {
this.componentKey += 1
}
}
}
Run Code Online (Sandbox Code Playgroud)
我使用v-if渲染组件:
<div id="app">
<button type="button" @click="updateComponent">test</button>
<test-el v-if="show"></test-el>
</div>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
30342 次 |
最近记录: |