v-if和:visible.sync

复制代码
<!-- 弹出详情对话框 -->
    <el-dialog :title="title" :visible.sync="dialogOpenOffline" width="900px" append-to-body>
      <el-radio v-model="radio" label="1">从系统数据筛选</el-radio>
      <el-radio v-model="radio" label="2">上传离线文件</el-radio>
      <el-form class="dialog-jianxi" v-if="radio === '1'" :model="queryParams" ref="" size="small" :inline="true"
        v-show="showSearch" label-width="68px">
        <el-form-item label="设备编号" prop="status">
          <el-select v-model="value" placeholder="请选择">
            <el-option v-for="item in selectoptions" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="数据类型" prop="status">
          <el-select v-model="value" placeholder="请选择数据类型">
            <el-option v-for="item in selectoptions" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="选择时间" prop="postCode">
          <el-date-picker v-model="value1" type="datetimerange" range-separator="至" start-placeholder="开始日期"
            end-placeholder="结束日期">
          </el-date-picker>
        </el-form-item>
      </el-form>

      <el-upload v-if="radio === '2'" class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/"
        :on-preview="handlePreview" :on-remove="handleRemove" :before-remove="beforeRemove" multiple :limit="3"
        :on-exceed="handleExceed" :file-list="fileList">
        <el-button size="small" type="primary">点击上传</el-button>
        <div slot="tip" class="el-upload__tip">只能上传csv文件,且不超过500MB</div>
      </el-upload>

      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="cancel">取 消</el-button>
      </div>
    </el-dialog>

1.弹窗显示与否, 使用:visible.sync="dialogOpenOffline"控制是否弹出显示

2.v-if通过radio单选框去隐藏和展示对应的元素

相关推荐
lee5764 小时前
老是忘记package.json,备忘一下 webpack 环境下 Vue Cli 和 Vite 命令行工具对比
vue.js
-代号95276 小时前
【JavaScript】十二、定时器
开发语言·javascript·ecmascript
灵感__idea7 小时前
JavaScript高级程序设计(第5版):扎实的基本功是唯一捷径
前端·javascript·程序员
摇滚侠7 小时前
Vue3 其它API toRow和markRow
前端·javascript
難釋懷7 小时前
JavaScript基础-history 对象
开发语言·前端·javascript
拉不动的猪7 小时前
刷刷题47(react常规面试题2)
前端·javascript·面试
浪遏7 小时前
场景题:大文件上传 ?| 过总字节一面😱
前端·javascript·面试
计算机毕设定制辅导-无忧学长7 小时前
HTML 与 JavaScript 交互:学习进程中的新跨越(一)
javascript·html·交互
zrhsmile8 小时前
Vue从入门到荒废-单向绑定
javascript·vue.js·ecmascript
百锦再8 小时前
React编程的核心概念:发布-订阅模型、背压与异步非阻塞
前端·javascript·react.js·前端框架·json·ecmascript·html5