最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue+elementui 實現(xiàn)新增和修改共用一個彈框的完整代碼

 更新時間:2021年06月08日 09:35:43   作者:Ao_min  
Element-Ul是餓了么前端團隊推出的一款基于Vue.js 2.0 的桌面端UI框架,手機端有對應(yīng)框架是Mint UI ,今天給大家普及vue+elementui 實現(xiàn)新增和修改共用一個彈框的完整代碼,一起看看吧

element-ui是由餓了么前端團隊推出的一套為開發(fā)者、設(shè)計師和產(chǎn)品經(jīng)理準(zhǔn)備的基于Vue.js 2.0的桌面組件庫,而手機端有對應(yīng)框架是 Mint UI 。整個ui風(fēng)格簡約,很實用,同時也極大的提高了開發(fā)者的效率,是一個非常受歡迎的組件庫。

一、新增

1、新增按鈕

2、新增事件 在methods中,用來打開彈窗,
dialogVisible在data中定義使用有true或false來控制顯示彈框

**3、新增確定,彈框確定事件 ,新增和修改共用一個確定事件,使用id區(qū)別

**3、新增事件

調(diào)新增接口,判斷是否有id,沒有就調(diào)新增接口

二、修改

2-1、修改按鈕 ,表格行編輯按鈕使用scope.row拿到當(dāng)前行的數(shù)據(jù)

2-2、修改事件, 把當(dāng)前行數(shù)據(jù)賦值給表單,就把當(dāng)前行數(shù)據(jù)回顯出來了

2-3、修改事件

修改接口,判斷是否有id,有就調(diào)修改接口**

下面直接上代碼了

<template>
  <div>
    <!-- 面包屑導(dǎo)航 -->
    <el-breadcrumb separator-class="el-icon-arrow-right">
      <el-breadcrumb-item :to="{ path: '/Welcome' }">首頁</el-breadcrumb-item>
      <el-breadcrumb-item>權(quán)限管理</el-breadcrumb-item>
      <el-breadcrumb-item>角色列表</el-breadcrumb-item>
    </el-breadcrumb>
    <!-- 卡片 -->
    <el-card class="box-card">
      <!-- 新增按鈕 -->
      <el-row :gutter="20">
        <el-col :span="6">
          <div class="grid-content bg-purple"></div>
          <el-button type="primary" @click="onhandAdd">添加角色</el-button>
        </el-col>
      </el-row>
      <!-- 表格 -->
      <el-table :data="tableData" border="" style="width: 100%">
        <el-table-column type="expand">
          <template slot-scope="scope">
            <el-row
              :class="['bdbottom',i1 === 0? 'bdtop' : '', 'vcenter'] "
              :gutter="20"
              :span="6"
              v-for="(item_ong,i1) in scope.row.children"
              :key="item_ong.id"
            >
              <!-- 一級 -->
              <el-col :span="5">
                <el-tag>{{item_ong.authName}}</el-tag>
                <i class="el-icon-caret-right"></i>
              </el-col>
              <!-- 二級和三級 -->
              <el-col :span="19">
                <!-- 二級權(quán)限 -->
                <el-row v-for="(item_two,i2) in item_ong.children" :key="i2">
                  <el-col :span="6">
                    <el-tag type="success">{{item_two.authName}}</el-tag>
                    <i class="el-icon-caret-right"></i>
                  </el-col>
                  <el-col :span="18">
                    <el-tag
                      type="warning"
                      v-for="(item_three,i3) in item_two.children"
                      :key="i3"
                    >{{item_three.authName}}</el-tag>
                    <i class="el-icon-caret-right"></i>
                  </el-col>
                </el-row>
              </el-col>
            </el-row>
          </template>
        </el-table-column>
        <el-table-column label="#" type="index" width="80"></el-table-column>
        <el-table-column label="角色名稱" prop="roleName"></el-table-column>
        <el-table-column label="角色描述" prop="roleDesc"></el-table-column>
        <el-table-column label="操作" prop="id">
          <template slot-scope="scope">
            <el-button
              type="primary"
              icon="el-icon-edit"
              size="small"
              @click="handleEdit(scope.$index, scope.row)"
            >編輯</el-button>
            <el-button type="warning" icon="el-icon-delete" size="small">刪除</el-button>
            <el-button type="danger" icon="el-icon-edit" size="small">權(quán)限</el-button>
          </template>
        </el-table-column>
      </el-table>
    </el-card>
    <!-- 新增編輯彈框 -->
    <el-dialog
      :title="addtitle"
      :visible.sync="dialogVisible"
      width="40%"
      :before-close="handleClose"
    >
      <el-form
        :model="ruleForm"
        :rules="rules"
        ref="refRuleForm"
        label-width="100px"
        class="demo-ruleForm"
      >
        <el-form-item label="角色名稱" prop="roleName">
          <el-input v-model="ruleForm.roleName"></el-input>
        </el-form-item>
        <el-form-item label="角色描述" prop="roleDesc">
          <el-input v-model="ruleForm.roleDesc"></el-input>
        </el-form-item>
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="dialogVisibleConfirm">確 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>

<script>
export default {
  data() {
    return {
      tableData: [],
      dialogVisible: false,
      addtitle: "添加角色",
      ruleForm: {
        roleName: "",
        roleDesc: ""
      },
      allid: "",
      // 驗證規(guī)則
      rules: {
        roleName: [
          { required: true, message: "請輸入角色名稱", trigger: "blur" },
          { min: 3, max: 5, message: "長度在 3 到 5 個字符", trigger: "blur" }
        ],
        roleDesc: [{ required: true, message: "角色描述", trigger: "blur" }]
      }
    };
  },
  created() {
    this.tabList();
  },
  methods: {
    //   表格接口列表
    tabList() {
      this.$api.jurisdiction.rolelist().then(res => {
        console.log(res.data.data, "]]]]]]]");
        this.tableData = res.data.data;
      });
    },
    // 新增
    onhandAdd() {
      this.dialogVisible = true;
    },
    handleClose(done) {
      this.dialogVisible = false;
    },
    // 編輯
    handleEdit(index, row) {
      console.log(index, row.id);
      this.dialogVisible = true;   //顯示彈框
      this.ruleForm = row;         //row當(dāng)前行數(shù)據(jù),把當(dāng)前行的數(shù)據(jù)賦值給 表單
      this.allid = row.id;         //把id存全局
    },
    // 確定
    dialogVisibleConfirm() {
      // 新增接口
      if (!this.allid) {
        this.$api.jurisdiction.addrole(this.ruleForm)
          .then(res => {
            // console.log(res,"新增")
            this.$message.success("添加成功");     //新增成功消息提示
            this.$refs.refRuleForm.resetFields(); //清空表格數(shù)據(jù)
            this.dialogVisible = false;           //關(guān)閉彈框
            this.tabList();                       //刷新列表
          })
          .catch(res => {
            this.$message.error("添加失敗");
          });
      } else {
        // 修改接口
        let id = this.allid
        let params = {
          roleName:this.ruleForm.roleName,
          roleDesc:this.ruleForm.roleDesc,
        }
        this.$api.jurisdiction.edtrole(id,params)
          .then(res => {
            console.log(res,"修改")
            this.$message.success("修改成功");
            this.$refs.refRuleForm.resetFields();
            this.dialogVisible = false;
            this.tabList();
          })
          .catch(res => {
            this.$message.error("修改失敗");
          });
      }
    }
  }
};
</script>

<style scoped>
.bdtop {
  border-top: 1px solid #eee;
  padding-top: 10px;
}
.bdbottom {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  padding-top: 10px;
}
.el-tag {
  margin: 10px 0px;
}
.vcenter {
  display: flex;
  align-items: center;
}
</style>

以上就是vue+elementui 實現(xiàn)新增和修改共用一個彈框的完整代碼的詳細內(nèi)容,更多關(guān)于vue elementui彈框的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在Vue中使用SQLite數(shù)據(jù)庫的基礎(chǔ)應(yīng)用詳解

    在Vue中使用SQLite數(shù)據(jù)庫的基礎(chǔ)應(yīng)用詳解

    這篇文章主要為大家詳細介紹了在Vue中使用SQLite數(shù)據(jù)庫的基礎(chǔ)應(yīng)用,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • 使用Vue快速實現(xiàn)一個無縫輪播效果

    使用Vue快速實現(xiàn)一個無縫輪播效果

    這篇文章主要為大家詳細介紹了如何使用Vue快速實現(xiàn)一個無縫輪播效果,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考下
    2024-04-04
  • Vue ElementUI this.$confirm async await封裝方式

    Vue ElementUI this.$confirm async await封

    這篇文章主要介紹了Vue ElementUI this.$confirm async await封裝方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue3不支持Filters過濾器的問題

    Vue3不支持Filters過濾器的問題

    這篇文章主要介紹了Vue3不支持Filters過濾器的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Axios學(xué)習(xí)筆記之使用方法教程

    Axios學(xué)習(xí)筆記之使用方法教程

    axios是用來做數(shù)據(jù)交互的插件,最近正在學(xué)習(xí)axios,所以想著整理成筆記方便大家和自己參考學(xué)習(xí),下面這篇文章主要跟大家介紹了關(guān)于Axios使用方法的相關(guān)資料,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 淺談Vue插槽實現(xiàn)原理

    淺談Vue插槽實現(xiàn)原理

    vue.js的靈魂是組件,而組件的靈魂是插槽。借助于插槽,我們能最大程度上實現(xiàn)組件復(fù)用。本文主要是對插槽的實現(xiàn)機制進行詳細概括總結(jié),在某些場景中,有一定的用處
    2021-06-06
  • vue組件父與子通信詳解(一)

    vue組件父與子通信詳解(一)

    這篇文章主要為大家詳細介紹了vue組件父與子通信詳解,實現(xiàn)登錄窗口,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 基于vuex實現(xiàn)購物車功能

    基于vuex實現(xiàn)購物車功能

    這篇文章主要為大家詳細介紹了基于vuex實現(xiàn)購物車功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • vue實現(xiàn)滑動解鎖功能

    vue實現(xiàn)滑動解鎖功能

    這篇文章主要為大家詳細介紹了vue實現(xiàn)滑動解鎖功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue3使用Lottie實現(xiàn)一個簡單的加載動畫

    Vue3使用Lottie實現(xiàn)一個簡單的加載動畫

    Lottie 是一個流行的動畫庫,它允許我們使用 JSON 文件來渲染高質(zhì)量的動畫,本文將介紹一下如何在Vue3中集成 Lottie 動畫實現(xiàn)一個加載動畫效果,需要的可以了解下
    2025-02-02

最新評論

光山县| 宽城| 日照市| 民勤县| 新平| 兰考县| 游戏| 潍坊市| 丰顺县| 莱阳市| 嘉定区| 枣阳市| 汉寿县| 大埔县| 宁海县| 嘉荫县| 扬中市| 紫阳县| 乌恰县| 沁阳市| 呼和浩特市| 密山市| 辽源市| 黄浦区| 阳朔县| 长泰县| 东海县| 阿克苏市| 瑞昌市| 青浦区| 昂仁县| 陆河县| 淳安县| 自贡市| 全椒县| 北碚区| 郧西县| 南汇区| 古田县| 博兴县| 临汾市|