使用时间组件可能出现日期时间选择器弹窗错位,因为有多个时间选择器进行切换使用所导致
如图:
解决方法:组件添加一个唯一的key属性
<el-form-item label="日期" v-if="val1">
<el-date-picker size="small"
key="picker_!008"
v-model="value1"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="日期" v-if="val2">
<el-date-picker
v-model="value2"
key="picker_008"
size="small"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
多个时间选择器存在时,会出现弹出位置错位;给组件添加一个唯一的key
属性可以解决这一问题,原因在于Vue(或其它前端框架)的渲染机制
总之,通过为每个时间选择器组件添加一个唯一的
key
,可以有效地帮助Vue追踪组件的状态和位置,避免由于DOM
复用导致的下拉菜单错位等问题。