最近在项目中遇到一个问题:在el-table中使用el-datePicker初始化设置默认时间后,修改时间页面总是不生效的问题
其实打印@input事件时,发现值改了,就是页面修改不生效,比较疑惑,百度了下,看好多人也遇到过这个问题,照着他们的修改,如这位博主的修改(链接),复制的时候重新设置下,我试了下,还是不好使。
突然灵光一闪,这种值改变了,页面没刷新,不是加个key的设置不就好了吗,上代码:
<el-table-column label="有效日期" prop="begin_timestamp" width="360px">
<template v-slot="scope">
<el-date-picker
class="special"
:key="itemKey"
v-model="scope.row.valueTime"
type="daterange"
value-format="timestamp"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@input="changeTime($event, scope.row)"
></el-date-picker>
</template>
</el-table-column>
changeTime(event, row) {
// 最重要的一步,设置key,使组件重新渲染生成,就不存在页面不刷新了
this.itemKey = Math.random()
}
总结:
其实和之前设置tableData一样,设置了值,但是页面不刷新问题(链接),所以以后遇到这种值改变了,但是页面没改变的问题,加个key试试。