ElementUI嵌套Form的Dialog如何重置Form

场景第一次打开页面时,先点添加按钮选中第一行先点击添加按钮,执行resetFields(),重置form,正常。再点击修改按钮,回显用户信息,正常。 第一次打开页面时,先点修改按钮选中第一行先点击修改按钮,回显用户信息,正常。再点击添加按钮,执行resetFields(),没有重置form,异常。 分析官方文档的描述是重置为初始值。在创建form对象时,使用model绑定的表单数据对象,在form对象的mounted时期记录了下来第一次使用的表单数据对象,这个表单数据对象就是初始值,每次调用resetFields()重置表单,都是使用这个初始值,所以重置并不是清空。 <el-form ref="form" :model="form" label-width="80px">... ...</el-form>解决先调用resetFields()重置表单并移除校验结果,然后将表单数据对象置空。 resetEntityForm: function () { this.$nextTick(function () { this.$refs.entityForm.resetFields(); for (var key in this.entity) { if (this.entity.hasOwnProperty(key)) { this.entity[key] = ''; } } });}参考:解决 ElementUI form表单在dialog中重置表单,无法正确重置的问题elementui-清除弹框中表单的默认值-resetFields()element-ui 表单清空 resetFields 方法清空表单中的坑

July 11, 2019 · 1 min · jiezi

zz无法初始化前端界面Dialog工具问题解决

K. Feng. (2015, Sep 18). 无法初始化前端界面Dialog工具问题解决 [Online]. Available: 错误提示: debconf: unable to initialize frontend: Dialogdebconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)debconf: falling back to frontend: Readline 解决方法:利用apt-get重新安装相关组件: apt-get install dialog ReadyNas也是精简了不少东西啊。。。

June 26, 2019 · 1 min · jiezi

封装一个通用的PopupWindow

上篇文章是关于建造者设计模式的,今天顺便封装一个通用的 PopupWindow 来实践一下, 同时也方便以后使用 PopupWindow,本文将从下面几个方面来介绍 PopupWindow 及其封装,具体如下: 概述常用方法基本使用封装 PopupWindow使用封装后的PopupWindow显示效果概述PopupWindow 表示一个弹窗,类似于 AlertDialog,相较 AlertDialog 来说 PopupWindow 使用起来更灵活,可有任意指定要显示的位置,当然能够灵活的使用必然在某一层面有所牺牲,如 PopupWindow 相较 AlertDialog 没有默认的布局,每次都得专门创建弹窗的布局,这一点来说 AlertDialog 就比较方便了,所以在开发中没有最好的解决方案,要根据具体的需求选择最合适的解决方案。 常用设置PopupWindow 的创建,具体如下: //构造方法 public PopupWindow (Context context) public PopupWindow(View contentView) public PopupWindow(View contentView, int width, int height) public PopupWindow(View contentView, int width, int height, boolean focusable) PopupWindow 的常用属性设置,具体如下: //设置View(必须) window.setContentView(contentView); //设置宽(必须) window.setWidth(WindowManager.LayoutParams.MATCH_PARENT); //设置高(必须) window.setHeight(WindowManager.LayoutParams.WRAP_CONTENT); //设置背景 window.setBackgroundDrawable(new ColorDrawable(Color.GRAY)); //设置PopupWindow之外的触摸事件 window.setOutsideTouchable(true); //设置PopupWindow消失的监听器 window.setOnDismissListener(this); //设置PopupWindow上的触摸事件 window.setTouchable(true); //设置PopupWindow弹出动画 window.setAnimationStyle(R.style.PopupWindowTranslateTheme);PopupWindow 的显示有两种设置方式,一种是基于坐标,另一种是基于某个 View ,具体如下: ...

June 1, 2019 · 3 min · jiezi