vue3setup语法糖+ts pure-admin后台开发基本使用

第一次使用pure-admin 包括列列表 搜索 重置 新增编辑删除功能 

index.vue中写的是列表里面的内容
<script setup lang="ts">
import { ref } from "vue";
//这个先不用管是什么
import { useDepartment } from "./utils/hook";
//pure的列表相当于
import { PureTableBar } from "@/components/RePureTableBar";
//pure封装的图标使用下面那几个都是图标
import { useRenderIcon } from "@/components/ReIcon/src/hooks";

import AddFill from "@iconify-icons/ri/add-circle-line";
import Delete from "@iconify-icons/ep/delete";
import EditPen from "@iconify-icons/ep/edit-pen";
import Search from "@iconify-icons/ep/search";
import Refresh from "@iconify-icons/ep/refresh";
import FolderOpened from "@iconify-icons/ep/folder-opened"; // 列表

defineOptions({
  // name 作为一种规范最好必须写上并且和路由的name保持一致
  name: "Department"
});
const {
  form,
  columns,
  dataList,
  handleDelete,
  handleSizeChange,
  handleSelectionChange,
  handleCurrentChange,
  pageTitle,
  pagination,
  onSearch,
  loading,
  resetForm,
  // 编辑删除新增
  openDialog
} = useDepartment();  //这个是功能页导出的useDepartment 然后在这个页面里面接收
const tableRef = ref();
const formRef = ref();
</script>
<template>
  <div class="main">
    <el-form
      class="bg-bg_color w-full px-4 pt-[18px] overflow-hidden"
      :inline="true"
      ref="formRef"
      :model="form"
    >
      <el-form-item label="关键字" prop="name">
        <el-input
          class="!w-[200px]"
          placeholder="请输入"
          clearable
//用于搜索
          v-model="form.name"
        />
      </el-form-item>
      <el-form-item
        ><el-button
          type="primary"
          :icon="useRenderIcon(Search)"
          @click="onSearch"
          :loading="loading"
          >搜索</el-button
        >
        <el-button :icon="useRenderIcon(Refresh)" @click="resetForm(formRef)">
          重置
        </el-button>
      </el-form-item>
    </el-form>

    <PureTableBar :columns="columns" @refresh="onSearch" :loading="loading">
      <template #title>
        <div class="flex items-center">
          <I
  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,以下是一个使用Vue3 + TypeScript + Ant Design Modal组件的示例代码: ```vue <template> <a-button type="primary" @click="showModal">打开弹出框</a-button> <a-modal v-model:visible="visible" :title="title" @ok="handleOk" @cancel="handleCancel"> <p>{{ content }}</p> </a-modal> </template> <script lang="ts"> import { defineComponent, ref } from 'vue'; import { Modal, Button } from 'ant-design-vue'; export default defineComponent({ name: 'MyModal', components: { Modal, Button }, setup() { const visible = ref(false); const title = ref('提示'); const content = ref('这是弹出框内容'); const showModal = () => { visible.value = true; }; const handleOk = () => { visible.value = false; // 点击确定按钮后的操作 }; const handleCancel = () => { visible.value = false; // 点击取消按钮后的操作 }; return { visible, title, content, showModal, handleOk, handleCancel, }; }, }); </script> ``` 在这个示例代码中,我们首先引入了Ant Design的Modal和Button组件。然后,使用`defineComponent`方法定义了一个名为`MyModal`的组件。在`setup`函数中,我们定义了一些响应式的变量,包括`visible`(控制弹出框的显示与隐藏)、`title`(弹出框的标题)、`content`(弹出框的内容)。接着,我们定义了三个方法,分别是`showModal`、`handleOk`和`handleCancel`。`showModal`方法用于显示弹出框,`handleOk`方法和`handleCancel`方法则分别在点击弹出框的确定和取消按钮时触发。 最后,在模板中,我们使用Ant Design的Button组件来触发`showModal`方法,使用Ant Design的Modal组件来展示弹出框。在Modal组件中,我们使用Vue3的语法糖`v-model:visible`来绑定弹出框的显示与隐藏状态。同时,我们通过`:title`传递了弹出框的标题,通过`@ok`和`@cancel`监听了弹出框的确定和取消事件。在弹出框的内容中,我们使用了响应式变量`content`来展示弹出框的内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值