项目中个人喜欢用computed来管理button组件是否禁用,今天遇到一个情况,在template组件中应用了button组件,因此定义的disabled属性渲染失效,只有每次修改代码后的热重载才有效果。经过查阅需要给button组件添加一个key标识,成功解决问题。之后又试了一下button的父组件不携带v-if就不会出现这个问题了。
<template v-else>
<el-button
key="upload"
:disabled="!uploadShow"
@click="onUpload"
>上传</el-button>
<el-button
key="back"
:disabled="!backShow"
@click="onBack"
>退回</el-button>
</template>
<script>
export default{
props:['uploadStatus']
computed:{
uploadShow(){
return this.uploadStatus==='1'
},
backShow(){
return ['1','3'].includes(this.uploadStatus)
}
}
}
</script>