<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # 封裝自定義組件詳細教程 [TOC] 本篇文章將帶領你編寫行編輯的自定義組件,實現更加高級的功能。 ## 一、準備工作 建議自定義組件都放到`src/components/JVxeCells`目錄下,方便管理。 如果需要分類,可以在該目錄下新建個目錄,例如本次示例新建一個`demo`文件夾 ![](https://img.kancloud.cn/4a/00/4a00407ed27f845c2d3ba9e279bb78c4_249x163.png) 然后再新建一個`.vue`文件,該文件就是自定義組件的實際實現。 ![](https://img.kancloud.cn/a1/90/a1908ae231e08d48d9e56e4a4f13b481_233x60.png) 如上圖所示,我新建了一個 `JVxeDemoCell.vue` 文件,接下來就需要在這個文件里寫組件的實際功能代碼了。 ## 二、封裝功能 打開組件文件,引入公共混入 **(重要)** , `import JVxeCellMixins from '@/components/jeecg/JVxeTable/mixins/JVxeCellMixins'` ![](https://img.kancloud.cn/86/4c/864ca752b305957eef58284318b7a60a_849x152.png) 每個自定義組件都**必須**引入該混入,因為這里面封裝了組件所必要的參數、變量和方法。 ### JVxeCellMixins詳解 #### 混入參數(props) |?參數名????????|?類型???|?解釋?????????????????????????????????| |---------------|--------|--------------------------------------| |?value?????????|?any????|?綁定的值?????????????????????????????| |?row???????????|?object?|?當前行的數據?????????????????????????| |?column????????|?object?|?當前列的配置?????????????????????????| |?params????????|?object?|?組件公共參數?????????????????????????| |?renderOptions?|?object?|?渲染選項?????????????????????????????| |?renderType????|?string?|?渲染類型(?editer、spaner、default)?| #### 混入變量(data) | 變量名 | 類型 | 解釋 | |------------|------|---------------------------------------| | innerValue | any | `value`經過`setValue()`增強(詳見:“自定義組件增強”章節)處理后的值 | #### 混入計算屬性(computed) | 屬性名 | 類型 | 解釋 | |--------------|--------|---------------------------------------------------------------------------------------------------| | caseId | string | JVXETable實例的唯一ID | | type | string | 組件type,對應`JVXETypes`,對應注冊時填寫的`type`,用去區別多個不同的type但用相同的一個組件時判斷 | | originColumn | object | 原始列配置(用戶手寫的配置列,可以在這里獲取自定義參數) | | cellProps | object | 當前組件綁定的props | #### 混入方法(methods) * `trigger(name, event = {}, args = []) ` 觸發事件 * `handleBlurCommon(value) ` 公共處理blur事件 * `handleChangeCommon(value) ` 公共處理change事件 ### 示例:簡單封裝 簡單封裝就是只封裝`可編輯`模式下的組件,在實際使用中,組件是不顯示出來的,只有當點擊單元格的時候才會顯示出組件,好處就是可以極大的提升性能。 所以簡單封裝只需要一個vue組件就可完成。 完整示例: ![](https://img.kancloud.cn/f4/2e/f42e6bac7b69870851f5bee9c6aa6ae2_774x253.png) ![](https://img.kancloud.cn/79/e2/79e22e75fa2dc5fbe148ea88eaf83cff_934x278.png) 注冊并查看效果(注冊方法見:三、最終注冊) ![](https://img.kancloud.cn/8b/2a/8b2a8e6c97f644bc5e1053debc938d5a_192x118.png) ![](https://img.kancloud.cn/e6/a5/e6a5a168cca56d6a05b9ef5ebfa1bee5_597x379.png) ### 示例:高級封裝 ## 三、最終注冊 推薦在`src/components/JVxeCells/install.js`文件內完成注冊,可以做到開箱即用。 注冊只需要引入組件文件、擴展JVXETypes、調用installCell方法即可完成注冊。 示例: ![](https://img.kancloud.cn/07/e4/07e43504dda005ef83a02e70e71386bd_485x180.png) ## 四、使用示例 ![](https://img.kancloud.cn/ec/ad/ecada688a5434f622c4b343dcd6a8363_286x166.png) # 參考示例 簡單封裝:`src/components/jeecg/JVxeTable/components/cells/JVxeCheckboxCell.vue` 高級封裝:`src/components/JVxeCells/JVxeSelectDictSearchCell.js`
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看