element-ui的DateTimePicker组件为我们提供了 文本框可输入属性 editable=“false/true”,但是此属性只对外框有作用,内框还是能手动输入
![在这里插入图片描述](https://img-blog.csdnimg.cn/dd3aa93fa7874094b03e421dfe1c3315.png
但是需求需要我们外框内框都不允许输入只能选择,就需要我们自己写js代码处理,把组件里面的输入框变为可读,添加readonly属性
解决如下:

<template>
    <el-date-picker
      v-model="value1"
      type="datetime"
      @focus="timeEditable"
      placeholder="选择日期时间">
    </el-date-picker>
</template>
timeEditable(){//组件禁止组件里面的input输入值
	this.$nextTick(() => {
	    let els = document.querySelectorAll('.el-date-picker__editor-wrap input');
		for(var i = 0; i <= els.length-1 ; i++){
			els[i].setAttribute('readonly','readonly');
		}
    })
},
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐