91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2022-07-04 13:45:15 來源:億速云 閱讀:429 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“vue.js基于ElementUI如何封裝CRUD的彈框組件”,內容詳細,步驟清晰,細節處理妥當,希望這篇“vue.js基于ElementUI如何封裝CRUD的彈框組件”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

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

    開始封裝

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

    我的想法就是,把彈框標題,table表頭,必填字節,接口請求路徑,增刪改查CRUD,等等,放在一個json對象里面。通過父組件向子組件傳參的方式,展示不同內容,調用不同的接口。

    極大提高了代碼的復用性。

    json對象如下所示

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

    table表頭作為列表傳入,數據結構如下

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

    在子組件中循環渲染出表頭

    <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>

    在父組件中調用

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

    讀到這里,這篇“vue.js基于ElementUI如何封裝CRUD的彈框組件”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

    向AI問一下細節
    推薦閱讀:
    1. js選擇彈框
    2. layer彈框

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    祁东县| 苏尼特左旗| 乐亭县| 章丘市| 云龙县| 清水县| 英山县| 上犹县| 达尔| 水城县| 桐庐县| 原平市| 施秉县| 大宁县| 天等县| 长兴县| 修文县| 张掖市| 长海县| 常德市| 砚山县| 永昌县| 安远县| 枞阳县| 洛南县| 临澧县| 伊川县| 商丘市| 蒙阴县| 嘉祥县| 临泉县| 额尔古纳市| 苍南县| 禄劝| 丹寨县| 理塘县| 株洲市| 平果县| 清水河县| 中卫市| 延寿县|