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

vue.js基于ElementUI封裝了CRUD的彈框組件

 更新時(shí)間:2022年07月04日 11:17:41   作者:??OrzR3????  
這篇文章主要介紹了vue.js基于ElementUI封裝了CRUD的彈框組件,問咋會(huì)給你圍繞主題展開詳細(xì)的內(nèi)容介紹,感興趣的小伙伴可以參考一下

前言

代碼寫得不好,為什么不封裝一下呢,如果用的是ElementUI框架,也可以在此基礎(chǔ)上進(jìn)行二次封裝。譬如說,這個(gè)用來對(duì)列表數(shù)據(jù)進(jìn)行增刪改查的彈框。

開始封裝

原本只是個(gè)小功能,但是別的模塊也需要用到。

我的想法就是,把彈框標(biāo)題,table表頭,必填字節(jié),接口請(qǐng)求路徑,增刪改查CRUD,等等,放在一個(gè)json對(duì)象里面。通過父組件向子組件傳參的方式,展示不同內(nèi)容,調(diào)用不同的接口。

極大提高了代碼的復(fù)用性。

json對(duì)象如下所示

  // 示例:
    let example = {
      // 彈框標(biāo)題
      popTitle: "編輯主題",
      // table
      columnList: [
        {
          prop: "themeName",
          label: "主題名稱",
        },
        {
          prop: "themeDescribe",
          label: "主題描述",
        },
      ],
      // 必填的字段
      requiredKeys: ["themeName"],
      tableData: this.themeList,
      // 主鍵,默認(rèn)為id
      idKey: "id",
      // 刪除的參數(shù)名稱,默認(rèn)為ids
      deleteKey: "ids",
      // 批量的參數(shù)名稱,默認(rèn)為ids
      batchDeleteKey: "ids",
      // 接口請(qǐng)求路徑,增刪改查CRUD
      interfaceUrl: {
        add: "/target/addTheme",
        edit: "/target/updateTheme",
        delete: "/target/deleteTheme",
        // 批量刪除
        batchDelete: "/target/deleteTheme",
        list: "/target/themelist",
      },
    };

table表頭作為列表傳入,數(shù)據(jù)結(jié)構(gòu)如下

 columnList: [
    {
      prop: "themeName",
      label: "主題名稱",
    },
    {
      prop: "themeDescribe",
      label: "主題描述",
    },
],

在子組件中循環(huán)渲染出表頭

<el-table-column
  v-for="(item, index) in columnList"
  :key="index"
  :show-overflow-tooltip="item.showOverflowTooltip || true"
  :align="item.align || 'center'"
  :header-align="item.headerAlign || item.align || 'center'"
  :label="item.label"
  :width="item.width"
>
  <template slot-scope="scope">
    <span v-if="scope.row.statusBtn === false">{{ scope.row[item.prop] }}</span>
    <el-input
      v-else-if="scope.row.statusBtn === true"
      v-model="scope.row[item.prop]"
      size="mini"
    />
  </template>
</el-table-column>

在父組件中調(diào)用

<!-- 編輯主題的彈框 -->
<edit-table-modal
  ref="editTableModal"
  :visible.sync="editTableModal.show"
  :tableObject="themeTableObject"
  v-if="editTableModal.show"
  @ok="editTableFunction"
/>

到此這篇關(guān)于vue.js基于ElementUI封裝了CRUD的彈框組件的文章就介紹到這了,更多相關(guān) ElementUI封裝CRUD內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中v-if和v-for一起使用的弊端及解決辦法(同時(shí)使用 v-if 和 v-for不推薦)

    vue中v-if和v-for一起使用的弊端及解決辦法(同時(shí)使用 v-if 和 v-for不

    當(dāng) v-if 和 v-for 同時(shí)存在于一個(gè)元素上的時(shí)候,v-if 會(huì)首先被執(zhí)行,這篇文章主要介紹了vue中v-if和v-for一起使用的弊端及解決辦法,需要的朋友可以參考下
    2023-07-07
  • vue開發(fā)中后臺(tái)系統(tǒng)復(fù)雜表單優(yōu)化技巧

    vue開發(fā)中后臺(tái)系統(tǒng)復(fù)雜表單優(yōu)化技巧

    這篇文章主要為大家介紹了vue開發(fā)中后臺(tái)系統(tǒng)復(fù)雜表單的優(yōu)化技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 詳解如何在Electron中存取本地文件

    詳解如何在Electron中存取本地文件

    在Electron 中,存取本地文件,有很多種辦法,本文介紹最常用的一種辦法, 通過 Electron 框架提供的能力,和 Node.js 的 fs 文件管理模塊實(shí)現(xiàn)本地文件的存取,需要的小伙伴可以參考下
    2023-11-11
  • element Dropdown組件意想不到的坑

    element Dropdown組件意想不到的坑

    本文主要介紹了element Dropdown組件意想不到的坑,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Vue導(dǎo)入excel文件的兩種方式(form表單和el-upload)

    Vue導(dǎo)入excel文件的兩種方式(form表單和el-upload)

    最近開發(fā)遇到一個(gè)點(diǎn)擊導(dǎo)入按鈕讓excel文件數(shù)據(jù)導(dǎo)入的需求,下面這篇文章主要給大家介紹了關(guān)于Vue導(dǎo)入excel文件的兩種方式,分別是form表單和el-upload兩種方法,需要的朋友可以參考下
    2022-11-11
  • vue使用websocket及封裝過程

    vue使用websocket及封裝過程

    這篇文章主要介紹了vue使用websocket及封裝過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue3使用拖拽組件draggable.next的保姆級(jí)教程

    vue3使用拖拽組件draggable.next的保姆級(jí)教程

    做項(xiàng)目的時(shí)候遇到了一個(gè)需求,拖拽按鈕到指定位置,添加一個(gè)輸入框,這篇文章主要給大家介紹了關(guān)于vue3使用拖拽組件draggable.next的保姆級(jí)教程,需要的朋友可以參考下
    2023-06-06
  • Vue-Element-Admin集成自己的接口實(shí)現(xiàn)登錄跳轉(zhuǎn)

    Vue-Element-Admin集成自己的接口實(shí)現(xiàn)登錄跳轉(zhuǎn)

    關(guān)于這個(gè)Vue-element-admin中的流程可能對(duì)于新的同學(xué)不是很友好,所以本文將結(jié)合實(shí)例代碼,介紹Vue-Element-Admin集成自己的接口實(shí)現(xiàn)登錄跳轉(zhuǎn),感興趣的小伙伴們可以參考一下
    2021-06-06
  • Vue 進(jìn)階之路(三)

    Vue 進(jìn)階之路(三)

    這篇文章主要介紹了Vue 進(jìn)階之路,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • vue使用i18n實(shí)現(xiàn)國(guó)際化的方法詳解

    vue使用i18n實(shí)現(xiàn)國(guó)際化的方法詳解

    這篇文章主要給大家介紹了關(guān)于vue使用i18n如何實(shí)現(xiàn)國(guó)際化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09

最新評(píng)論

通化市| 平邑县| 九江市| 靖安县| 安国市| 旬邑县| 江口县| 会同县| 杭锦旗| 惠来县| 长乐市| 洛隆县| 朝阳市| 博白县| 寻甸| 五指山市| 望城县| 柏乡县| 安福县| 太仆寺旗| 那坡县| 岳池县| 曲周县| 呼玛县| 五台县| 全南县| 涞源县| 金堂县| 林甸县| 九龙坡区| 镇雄县| 甘谷县| 黄大仙区| 运城市| 马关县| 长子县| 洞头县| 平顺县| 乐平市| 墨玉县| 当雄县|