ELEMENTUI_基础知识(二)

简介: ELEMENTUI_基础知识(二)

③. 表单重置问题(resetFields)


(对整个表单进行重置,将所有字段值重置为初始值并移除校验结果)

(以下三步都是必须的)


  • ①. el-form添加ref


  <el-form ref="refname"></el-form>


②. form的每个item加prop属性(踩了好久的坑这个,需要和绑定数据的最后名称一致,prop属性添加到form-item上) 关键


  <el-form-item prop="name">
      <el-input v-model="query.name"></el-input>
  </el-form-item>


③. element 中重置resetFields 函数 是恢复初始值 , 并非置空


  <el-form-item>
      <el-button @click="resetForm('refname')">清空</el-button>
  </el-form-item>


④. 进行表单重置


    方式一:
  restForm(refname) {
     this.$refs[refname].resetFields()
  }
  方式二:
  resetForm(formName) {
      this.$nextTick(() => {
          this.$refs[formName].resetFields();
          this[formName] = {};
        })
  }
    方式三:
    resetForm(){
      // resetFields需要获取到ref中的表单对象
      this.$refs.queryFormRef.resetFields();
    }


⑤. 代码演示:


(this.$refs[formName].resetFields( ) )


(this.$refs.queryFormRef.resetFields ( ) )


( this.$nextTick(( ) => { this.$refs[formName].resetFields( ); }))


<el-form :model="ruleForm" status-icon  ref="ruleForm" label-width="100px" class="demo-ruleForm">
  <el-form-item>
    <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
    <el-button @click="resetForm('ruleForm')">重置</el-button>
  </el-form-item>
</el-form>
<script>
  export default {
    data() {
      return {
        ruleForm: {
          pass: '',
          checkPass: '',
          age: ''
        },
      };
    },
    methods: {
     //重置按钮
      resetForm(formName) {
        this.$refs[formName].resetFields();
      }
    }
  }
</script>


④. 项目实战


  • ①. 效果图

微信图片_20220106125513.png


②. 代码展示:

(这里通常会放在header头部区域进行条件的查询,注意设置css样式)


   <el-header class="query_params query_params_header">
          <el-form :inline="true" :model="queryMap" ref="queryForm" target="exportIframe" method="post">
          <div>
            <input ref="export_f_columns" name="columns" type="hidden"></input>
            <input ref="export_f_usertoken" name="usertoken" type="hidden"></input>
            <input ref="export_f_multipleSelection" name="multipleSelection" type="hidden"></input>
            <input ref="h_AREAS" name="AREAS" type="hidden"></input>
            <!--店代码 -->
            <el-form-item label="店代码" style="width:180px">
              <el-input v-model="queryMap.ID" placeholder="店代码" name="ID" style="width:120px"></el-input>
            </el-form-item>
            <!--片区 -->
            <el-form-item label="片区" style="width:180px">
              <label slot="label">片&nbsp;&nbsp;&nbsp;&nbsp;区</label>
              <el-select v-model="queryMap.AREAS" multiple placeholder="请选择"  style="width:90px" @change="selectAREAs">
                <el-option key="华南" label="华南" value="华南"></el-option>
                <el-option key="华北" label="华北" value="华北"></el-option>
                <el-option key="西北" label="西北" value="西北"></el-option>
                <el-option key="华中" label="华中" value="华中"></el-option>
                <el-option key="西部" label="西部" value="西部"></el-option>
                <el-option key="东北" label="东北" value="东北"></el-option>
              </el-select>
            </el-form-item>
            <!--城市 -->
            <el-form-item label="城市" style="width:180px">
              <el-input v-model="queryMap.CITY" placeholder="城市" name="CITY" style="width:120px"></el-input>
            </el-form-item>
            <!--是否SSI JDPower-->
            <el-form-item label="是否SSI JDPower" style="width:300px">
              <el-select v-model="queryMap.CSIIMPSHOP" placeholder="请选择"  style="width:120px" @change="selectAREAs">
                <el-option key="是" label="是" value="0"></el-option>
                <el-option key="否" label="否" value="1"></el-option>
              </el-select>
            </el-form-item>
          </div>
          <div>
            <!--店名称 -->
            <el-form-item label="店名称" style="width:180px">
              <el-input v-model="queryMap.SIMPLENAME" placeholder="店名称" name="ID" style="width:120px"></el-input>
            </el-form-item>
            <!--店状态 -->
            <el-form-item label="店状态" style="width:180px">
              <el-select v-model="queryMap.ISDELETED" placeholder="请选择"  style="width:90px" @change="selectAREAs">
                <el-option key="营业中" label="营业中" value="n"></el-option>
                <el-option key="已关店" label="已关店" value="y"></el-option>
              </el-select>
            </el-form-item>
            <!--省份 -->
            <el-form-item label="省份" style="width:180px">
              <el-input v-model="queryMap.PROVINCE" placeholder="省份" name="PROVINCE" style="width:120px"></el-input>
            </el-form-item>
            <!--建店规模 -->
            <el-form-item label="建店规模" >
              <el-input v-model="queryMap.SHOPSCALE" placeholder="建店规模" name="SHOPSCALE" style="width:90px"></el-input>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" size="small" icon="el-icon-search" @click="query">查询</el-button>
              <el-button type="success" size="small" icon="el-icon-caret-right" @click="exportExcel">导出</el-button>
            </el-form-item>
          </div>
          </el-form>
       </el-header>
  .query_params_header{
    height:auto !important;
  }



相关文章
|
SQL JavaScript 前端开发
VUE3(三十二)vue使用xlsx解析excel文件
工作中发现了一个比较有意思的前端插件xlsx,可以解析excel文件。 之前上传excel文件一般前端只负责文件上传,文件上传成功之后在后端进行解析,后端解析excel的时候使用的是phpexcel,也还是挺方便的
1244 0
|
9月前
|
机器学习/深度学习 算法 搜索推荐
Featurewiz-Polars:基于XGBoost的高性能特征选择框架,一行代码搞定特征选择
Featurewiz是一个强大的特征选择库,提供高度自动化的特征选择、全面的特征工程功能,并实现了高效的mRMR算法。它已成为许多数据科学家的首选工具,拥有140多篇Google Scholar引用。最新版Featurewiz-Polars通过集成Polars引擎,在处理速度和大规模数据集处理能力上显著提升。
244 2
Featurewiz-Polars:基于XGBoost的高性能特征选择框架,一行代码搞定特征选择
|
JavaScript
使用Vue实现半自动打字机特效
本文介绍了如何使用Vue实现一个半自动打字机特效,通过自定义组件和计时器逐字显示文本内容,并提供了详细的源码实现和效果展示。
335 1
使用Vue实现半自动打字机特效
elementUI使用Pagination分页组件增加自定义slot
本文介绍了如何在Element UI的Pagination分页组件中使用自定义slot。通过在`el-pagination`标签内的适当位置添加slot内容,可以在分页组件中插入自定义的HTML或组件。文章提供了一个示例代码,展示了如何添加两个自定义slot,并展示了最终效果。
1627 4
elementUI使用Pagination分页组件增加自定义slot
Element el-time-picker el-time-select 时间选择器详解
本文目录 1. 概述 2. 选择任意时间 3. 默认时间设置 4. 时间格式设置 5. 指定可选时间段 6. 选择时间点 7. 时间选择变化事件
5374 0
ElementPlus的el-table-column如何添加超链接的代码
ElementPlus的el-table-column如何添加超链接的代码
|
XML JSON 前端开发
你知道 XHR 和 Fetch 的区别吗?
你知道 XHR 和 Fetch 的区别吗?
1563 1
|
消息中间件 缓存 监控
Kafka性能优化策略综述:提升吞吐量与可靠性
Kafka性能优化策略综述:提升吞吐量与可靠性
1860 0
element-el-pagination 分页-控制每页展示数量(整理)
element-el-pagination 分页-控制每页展示数量(整理)
|
JavaScript 容器
Element UI - v-infinite-scroll无限滚动组件
Element UI - v-infinite-scroll无限滚动组件
1294 0