【Vue3】用Element Plus实现列表界面

简介: 在编写代码时,我们可以修改vite的默认配置,比如启动后自动打开浏览器、设置ip、端口。vite默认是随机一个端口地址,这里我们可以更改为指定的端口。

🏆今日学习目标:用Element Plus实现列表界面

😃创作者:颜颜yan_

✨个人格言:生如芥子,心藏须弥

⏰本期期数:第四期

🎉专栏系列:Vue3


前言


哈喽大家好,本期我们用Element Plus实现列表界面,我们先用vue+vite创建一个vue项目,创建项目可以参考:利用vite创建vue3项目噢~


效果图


04fc33f0d4c6410ea0bb4b469509bb5e.png


目录简介


创建项目成功后,目录如下👇


  • .vscode:vscode的配置文件
  • node_modules:执行npm时初始化的包文件
  • public:存放公共资源
  • src:存放静态资源,重要文件
  • components:组件文件夹
  • App.vue:根组件
  • main.js:主函数,全局配置的地方,是全局文件
  • index.html:项目的起始页面
  • package.json:项目的配置
  • vite.config.js:vite的项目配置文件,可以配置ip、端口等高级操作。


490e6cd26ac34c3988f9aeafd57ecb6f.png


修改vite配置文件


在编写代码时,我们可以修改vite的默认配置,比如启动后自动打开浏览器、设置ip、端口。vite默认是随机一个端口地址,这里我们可以更改为指定的端口。

打开vite.config.js文件中添加server,将open属性设置为true,host设置ip,port设置端口。


// vite配置文件
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()],
  server:{
    // 设置项目启动后默认打开浏览器
    open:true,
    // 设置ip
    host:"127.0.0.1",
    // 设置端口
    port:3000
  }
})


Element Plus简介


Element Plus是基于Vue3,面向设计师和开发者的组件库。有很多组件模板,可以帮助我们快速完成页面噢,推荐~


Element Plus官网


c8bee483379d4db6b354206c73426ac8.png


Element Plus安装和引用


进入项目目录,在地址栏输入cmd,然后回车,进入项目目录的命令提示符。


017d0292e49c4d23b5df9c1e2d20d1eb.png

18dd2c350547402bad6e27b07f3f1d48.png


输入npm install element-plus --save进行安装。


npm install element-plus --save


接着在main.js中引入element plus,先使用import引入element plus组件,然后使用use绑定到实例上面。


import { createApp } from "vue";
// 引入组件App,app.vue是根组件
import App from "./App.vue";
import ElementPlus from "element-plus";
import "element-plus/dist/index.css";
const app = createApp(App);
// 使用use绑定到实例上面
app.use(ElementPlus);
// 挂载到app
app.mount("#app");


table完成列表界面


在App.vue文件中实现列表界面,App.vue是项目的根组件,这里有项目的模板、逻辑和样式。


1.在template中定义一个div,包裹住列表。


2.用el-row和el-col实现行列布局,使用span指定列的宽度,:span=“12” 的意思是50%的宽度,如果要设置100%的宽度,则为 :span=“24” 。设置两个el-col实现搜索框和查询、新增按钮五五分的效果。


3.在第一个el-col标签中添加el-input组件,为搜索框。在第二个el-col标签中添加两个el-button组件,表示查询和新增按钮,并使用@click添加点击事件。


4.使用el-table建立表格,使用 :data设置表格数据绑定,用 style=“width:100%” 设置默认宽度。


5.在table表格中用el-table-column标签设置每一个列,其中prop为主键,label为文案。


6.在script中设置搜索函数、回车事件、编辑、删除等函数。


<script setup>
import {ref} from 'vue';
// ref中可以设置默认值
const searchVal = ref() 
// 回车事件
const enterSearch = () =>{}
// 查询事件
const load = () =>{}
// 新增事件
const openAdd = () =>{}
// 编辑
const handleEdit = () =>{}
// 删除
const handleDelete = () =>{}
// 表格数据
const tableData = ref([])
</script>
<!-- 模板 -->
<template>
  <div class="container">
    <!-- 行列布局 -->
    <el-row>
      <!-- span指定列的宽度 -->
      <el-col :span="12">
        <!-- 搜索框 -->
        <!-- 通过v-model做数据绑定 -->
        <el-input v-model="searchVal" placeholder="请输入要搜索的关键字" class="input-with-select" @keyup.enter="enterSearch">
        </el-input>
      </el-col>
      <!-- 查询、新增按钮 -->
      <el-col :span="12">
        <el-button type="primary" @click="load">查询</el-button>
        <el-button type="primary" @click="openAdd">新增</el-button>
      </el-col>
    </el-row>
    <!-- table表格 -->
    <!-- 表格数据绑定和默认宽度 -->
    <el-table :data="tableData" style="width:100%">
      <!-- 每一个列,prop为主键,label为文案 -->
      <!-- 索引 -->
      <el-table-column type="index" width="50"></el-table-column>
      <el-table-column prop="img" label="图片" width="180"></el-table-column>
      <el-table-column prop="title" label="书名" width="180"></el-table-column>
      <el-table-column prop="author" label="作者" width="180"></el-table-column>
      <el-table-column prop="price" label="价格"></el-table-column>
      <el-table-column prop="remarks" label="备注"></el-table-column>
      <el-talble-column label="操作">
      <template #default="scope">
        <el-button size="small" @click="handleEdit(scope.$index,scope.row)">编辑</el-button>
        <el-button size="small" type="danger" @click="handleDelete(scope.$index,scope.row)">删除</el-button>
      </template>
      </el-talble-column>
    </el-table>
  </div>
</template>
<style scoped>
.container {
  width: 60%;
  margin: 100px auto;
}
.el-button{
  /* 增加按钮间距 */
  margin-left: 12px;
}
</style>


运行vue项目


在终端进入项目目录,然后输入npm run dev,如下,项目启动成功后就会自动跳转到浏览器啦~


12692831b5d64e9e89a29b4bea138546.png


总结


以上就是今天的学习内容啦~

如果有兴趣的话可以订阅专栏,持续更新呢~

咱们下期再见~


f66849431ba549ed9304ac2f54b451ba.gif

相关文章
|
4天前
|
前端开发 JavaScript API
基于Vue3+Hooks实现4位随机数和60秒倒计时
本文介绍了如何在Vue3中使用Hooks API来实现生成4位随机数和执行60秒倒计时的功能,并提供了详细的代码示例和运行效果展示。
23 1
基于Vue3+Hooks实现4位随机数和60秒倒计时
|
1天前
|
JSON JavaScript 前端开发
Vue3在工作中使用的一些经验总结
这篇文章是关于Vue 3项目中使用TypeScript的一些经验总结,包括如何配置TSLint进行代码规范和类型检查,以及如何将现有的JavaScript代码迁移到TypeScript的步骤和注意事项。
Vue3在工作中使用的一些经验总结
|
3天前
|
JavaScript 算法 API
Vue 3有哪些新特性
【8月更文挑战第16天】Vue 3有哪些新特性
21 1
|
4天前
|
JavaScript UED
如何在Vue3项目中使用防抖节流技巧
在Vue 3项目中使用防抖和节流技巧以优化组件性能,包括使用`lodash`库和自定义实现这两种方法。
10 0
如何在Vue3项目中使用防抖节流技巧
|
18小时前
|
JavaScript 前端开发 API
Vue3入门
Vue3入门
4 0
|
4天前
|
JavaScript
创建 Vue3 项目
创建 Vue3 项目
10 0
|
4天前
|
JavaScript
在Vue3+ElementPlus项目中使用具有懒加载的el-tree树形控件
在Vue 3和Element Plus项目中实现具有懒加载功能的el-tree树形控件,以优化大数据量时的页面性能。
12 0
|
JavaScript
vue-element 项目开发双语网站
安装npm i vue-i18n -S 建立lang.js VueI18n from 'vue-i18n' elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang elementZhLocale fro...
1131 0
|
1天前
|
JavaScript
Vue学习之--------路由的query、params参数、路由命名(3)(2022/9/5)
这篇文章详细介绍了Vue路由中的query参数、命名路由、params参数以及props配置的使用方式,并通过实际项目案例展示了它们在开发中的应用和测试结果,同时解释了`<router-link>`的`replace`属性如何影响浏览器历史记录。
Vue学习之--------路由的query、params参数、路由命名(3)(2022/9/5)
|
1天前
|
JavaScript
Vue学习之--------VueX(2022/8/31)
这篇文章是关于VueX的基础知识介绍,涵盖了VueX中的state、mutations、getters和actions的定义和使用,以及Action提交mutation而非直接变更状态,以及mutations的同步执行特性。
Vue学习之--------VueX(2022/8/31)