element-ui dialog弹出框嵌套遮罩问题
- 加上 :modal-append-to-body=’false’和 :append-to-body=”true”就会解决弹出框嵌套阴影最上层的问题
以及关闭嵌套弹窗遮罩层不消失的问题
<el-dialog :modal-append-to-body='false' :append-to-body="true">
vue的element-ui中form清除验证找不到clearValidate、resetFields
在做表格增删改查中时常要在弹窗上用到form表单验证,第一次点击报错undefined
- 问题出现在刷新界面后第一次新增,此时表单内的dom还没有加载完成就执行了clearValidate导致报错
- 解决办法this.$nextTick 但是this.$nextTick会造成新增或者编辑的时候做的参数处理出现问题、新增不会清空表单,编辑的值一直是第一次选中行的数据
- 放到this.$nextTick内部问题解决
```javascript
addDialog(){
this.fromType = ‘add’;
this.dialogTit = ‘新增’;
//清空表单
for (let x in this.form) {
}; this.$nextTick(()=>{if(x =='parentIds'){this.form[x] = []}else{this.form[x] = ''}
}) //显示弹框 this.dialogFormVisible = true; },//清除验证规则this.$refs.form.clearValidate();
> - 这种操作会影响编辑的时候数据不能动态渲染 将赋值操作都放到this.$nextTick中处理即可<a name="nZGzZ"></a>### el-input number类型禁止输入'e'和'.'、'+'、'-'、'Shift'```vue<el-input size="medium"type="number"@keydown.native="channelInputLimit">
channelInputLimit (e) {let key = e.keyconsole.log(key);// 不允许输入'e'和'.'if (key === 'e' || key === '.'|| key === '-') {e.returnValue = falsereturn false}return true},
去除type=”number”输入框聚焦时的上下箭头
* 设置全局 */.clear-number-input.el-input::-webkit-outer-spin-button,.clear-number-input.el-input::-webkit-inner-spin-button {margin: 0;-webkit-appearance: none !important;}.clear-number-input.el-input input[type="number"]::-webkit-outer-spin-button,.clear-number-input.el-input input[type="number"]::-webkit-inner-spin-button {margin: 0;-webkit-appearance: none !important;}.clear-number-input.el-input {-moz-appearance: textfield;}.clear-number-input.el-input input[type="number"] {-moz-appearance: textfield;}
只验证表单一个字段
如果需要多个参数,将参数改为数组形式即可。
this.$refs['form'].validateField('mobile', valid => {if (valid) {// 发送验证码}})
清除表单验证
this.$refs['form'].resetFields()
el-cascader 选择后需要点击空白处才能关闭
级联选择器在设置为可选任意一级时,选定某个选项时需要手动点击空白处才能关闭。
- 解决办法:可在 change 事件触发时将其关闭 ```el-cascader ref="cascader" @change="onChange" /
onChange() { this.$refs[‘cascader’].dropDownVisible = false } ```
