• elementui_2(添加功能的开发和loading的开发)


    添加功能的开发

    1、点击添加按钮将form表单展示出来,里面有下拉框和输入框,去element组件里找到Dialog对话框自定义内容里找到打开嵌套表单的Dialog,复制这里的代码,然后添加一个div,把复制的代码放到这个div下面,在data里默认添加dialogFormVisiblefalse,就是没有点击添加按钮的时候form表单隐藏,添加不请求后台,所以要找到添加按钮处的代码,改变代码@click=dialogFormVisible = true,点击添加按钮才能展示form表单,所以为true,由于拷贝的代码里有v-model=form.name,所以要在data里定义一个form,v-model是双向数据绑定,新增的代码如下图:

    2、在data中定义form数据,跟页面的input、select进行双向数据绑定,运行代码点击添加按钮,可以弹出对话框,证明代码是正确的,下面继续优化功能,根据form表单格式在复制一个el-form-item在活动名称的el-form-item下面,将label值改成集合名称,将复制的label值改成集合描述,将第三个label值改成归属项目,第一个v-model默认不改,将第二个v-model的值改成form.desc,在form里增加namedescproject,在form下面增加formLabelWidth: '120px',这个可有可无,由于归属项目这的下拉框与实际不符,所以要把搜索那的代码拷过来,将第三个v-model的值改成form.project,新增的代码如下:

    同时在:model=form上面加一个{{form}},刷新页面时可以看到一个空字典,在集合名称和集合描述input框里输入内容,选择一个归属项目,可以看到字典里有值了,内容可以看到,内容随便修改,值也变动:

    3、点击form表单里的确定按钮,代表保存,取消form表单的展示、发送post请求创建数据,更新列表,在点击确定时触发一次点击事件,确定按钮绑定了一个方法onSubmit,onSubmit方法里要请求数据,刷新页面在Console里可以看到打印的response,第一行就是response,response.data下有code和msg:

    去element组件里找到Message消息提示不同状态的open4里的代码this.$message.error('错了哦,这是一条错误消息');,修改一下代码及新增代码如下:

    在Network里的Headers中可以看到请求了/api/case_collection接口,方法是post以及添加时的name、desc和project,返回Preview中的code和msg如下图:

    添加成功后要刷新页面,页面数据也会增加,从代码看data里的case_collection_data是存放数据的,但是mock接口的数据是写死的,所以只要调用了get_page_data()方法,同时可以看到get请求方式,以及页面拉取的数据就是添加成功了,但是再添加时第一次添加的数据还存在,所以要清除下数据,新增的代码如下:

    什么时候加loading?

    原因:后台的数据返回过慢,希望能有更好的展示效果

    请求后台前增加loading

    后台返回后隐藏loading

    loading的加载包括页面加载提交时加载,去element组件里找到Loading加载区域加载的代码,自定义指令v-loading,只需要绑定Boolean即可,表格加载就把v-loading放在table下,新增代码如下:

    页面加载时loading,有返回值了让loading消失,新增代码如下:

    刷新页面,看不到效果,需要修改mock里的代码,新增的代码如下:

    loading3s,模拟请求数据库数据

    第二个loading是点击添加按钮时,输入数据再点击确定按钮时loading,也会导致页面没有响应,阻塞中,新增代码如下:

    不过这个效果不是很好,稍微优化一下,去element组件里找到Button按钮加载中的代码,新增的代码如下:

     定义一个变量也行,可以共用一个loading或button_loading

    可以看到在确定按钮上loading3秒,添加成功后又调用了get_page_data()方法,还得loading3秒(if里的第三个this),刷新页面,可以看到效果,前提是在mock的case_collection()方法的else里也要time.sleep(3)

  • 相关阅读:
    javascript 高级程序设计 二
    javascript 高级程序设计 一
    js 立即执行函数
    thinkphp验证器
    thinkphp5 行为(钩子)扩展
    thinkphp5控制器
    修改tp5的默认配置文件的位置
    thinkphp5 model 模型与Db
    API接口设计,rest,soap
    tp5的路由
  • 原文地址:https://www.cnblogs.com/laosun0204/p/12077283.html
Copyright © 2020-2023  润新知