Element 对话框 el-dialog 强制渲染

网站快速成型工具

Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库

  • 指南

    了解设计指南,帮助产品设计人员搭建逻辑清晰、结构合理且高效易用的产品。

    查看详情 
  • 组件

    使用组件 Demo 快速体验交互细节;使用前端框架封装的代码帮助工程师快速开发。

    查看详情 
  • 主题

    在线主题编辑器,可视化定制和管理站点主题、组件样式

    查看详情 
  • 资源

    下载相关资源,用其快速搭建页面原型或高保真视觉稿,提升产品设计效率。

    查看详情 

设计原则

一致

Consistency

反馈

Feedback

效率

Efficiency

可控

Controllability

一致性 Consistency

  • 与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;
  • 在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。

反馈 Feedback

  • 控制反馈:通过界面样式和交互动效让用户可以清晰的感知自己的操作;
  • 页面反馈:操作后,通过页面元素的变化清晰地展现当前状态。

效率 Efficiency

  • 简化流程:设计简洁直观的操作流程;
  • 清晰明确:语言表达清晰且表意明确,让用户快速理解进而作出决策;
  • 帮助用户识别:界面简单直白,让用户快速识别而非回忆,减少用户记忆负担。

可控 Controllability

  • 用户决策:根据场景可给予用户操作建议或安全提示,但不能代替用户进行决策;
  • 结果可控:用户可以自由的进行操作,包括撤销、回退和终止当前操作等。

element为了优化性能,在弹框未首次打开之前,是会不渲染弹框body中的内容的,一般情况下这样的设定是没有问题的,弹框未打开时我们一般也是不需要对弹框内容做操作的,但是在一些特殊情况,可能就有问题了

解决办法:

    <el-dialog
      title="设计配置项"
      :visible.sync="designDialogVisible"
      width="1600px"
      ref="designDialog"
    >
      <div>
        1
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="designDialogVisible = false"
          >取 消</el-button
        >
        <el-button
          type="primary"
          size="small"
          @click="handleDesignDialogSubmit()"
          >确 定</el-button
        >
      </span>
    </el-dialog>
  mounted() {
    this.$refs.designDialog.rendered = true
  }

antd 的 Model组件可以通过forceRender属性解决这个问题

https://ant.design/components/modal-cn/

posted @ 2022-02-18 13:54  徐同保  阅读(16)  评论(0编辑  收藏  举报  来源