fastapi+vue前后端分离之使用element-ui组件-02

458 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第24天,点击查看活动详情

大家好~我是小方,欢迎大家关注笋货测试笔记体完记得俾个like

回顾

上一期我们完成了前端vue的搭建,整个搭建也是够呛的,其实官网教程中也是不推荐新手直接使用 vue-cli,可能我比较喜欢折腾吧其实我也是摸着石头过河的摸着摸着就熟悉了,下面来讲一下前端页面的实现吧!!

配置element-ui

因为我们用到的是Vue,可以跟element-ui完美结合,在package.json文件中dependencies加入"element-ui": "^2.15.6"

{
  "dependencies": {
    "vue": "^2.5.2",
    "vue-router": "^3.0.1",
    "element-ui": "^2.15.6"
  },
}

接着在目录下,执行npm install 安装element-ui 接着在main.js文件下导入使用element-ui 我们打开element官网直接使用组件库中的按钮,官网地址:element.eleme.cn/#/zh-CN/com…

我们直接把这段代码复制下来放在HelloWorld.vue试试

npm run dev 启动项目,显示效果如下:

前端逻辑实现

之前讲到脚本api化,导出接口总共有4个参数,cookies、type类型、rap2项目id、模块名,那我们直接输入框输入参数即可,再加上一个导出按钮,触发请求导出接口。

这里我们直接用到Form表单组件,直接把官网的代码复制进去试试

<template>
  <div class="hello">
    <h2>{{ msg }}</h2>
    <el-form ref="form" :model="form" label-width="80px">
      <el-form-item label="活动名称">
        <el-input v-model="form.name"></el-input>
      </el-form-item>
      <el-form-item label="活动区域">
        <el-select v-model="form.region" placeholder="请选择活动区域">
          <el-option label="区域一" value="shanghai"></el-option>
          <el-option label="区域二" value="beijing"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="活动时间">
        <el-col :span="11">
          <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
        </el-col>
        <el-col class="line" :span="2">-</el-col>
        <el-col :span="11">
          <el-time-picker placeholder="选择时间" v-model="form.date2" style="width: 100%;"></el-time-picker>
        </el-col>
      </el-form-item>
      <el-form-item label="即时配送">
        <el-switch v-model="form.delivery"></el-switch>
      </el-form-item>
      <el-form-item label="活动性质">
        <el-checkbox-group v-model="form.type">
          <el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox>
          <el-checkbox label="地推活动" name="type"></el-checkbox>
          <el-checkbox label="线下主题活动" name="type"></el-checkbox>
          <el-checkbox label="单纯品牌曝光" name="type"></el-checkbox>
        </el-checkbox-group>
      </el-form-item>
      <el-form-item label="特殊资源">
        <el-radio-group v-model="form.resource">
          <el-radio label="线上品牌商赞助"></el-radio>
          <el-radio label="线下场地免费"></el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="活动形式">
        <el-input type="textarea" v-model="form.desc"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="onSubmit">立即创建</el-button>
        <el-button>取消</el-button>
      </el-form-item>
    </el-form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      'msg':'欢迎使用接口文档导出工具👏🏻👏🏻👏🏻',
      form: {
        name: '',
        region: '',
        date1: '',
        date2: '',
        delivery: false,
        type: [],
        resource: '',
        desc: ''
      }
    }
  },
  methods: {
    onSubmit() {
      console.log('submit!');
    }
  }
}
</script>

刷新一下页面,可以看到已经生效了~

总结

今天介绍了如何使用element-ui组件,你学废了么?

下期我们在此基础上,来优化一下代码,删除多余代码,实现前端逻辑,我哋下次再见👋🏻👋🏻👋🏻「俾个like再走啦」