<acronym id="indot"><dfn id="indot"></dfn></acronym>
<span id="indot"></span>

<bdo id="indot"><meter id="indot"></meter></bdo>
<label id="indot"><samp id="indot"></samp></label>
<label id="indot"><xmp id="indot">
  • <span id="indot"><table id="indot"></table></span>
    <center id="indot"><optgroup id="indot"></optgroup></center>
  • <bdo id="indot"><meter id="indot"></meter></bdo>
      當前位置:首頁 > javascript > vue > 正文內容

      Element-UI 表格中含有form表單提交

      hxing6413年前 (2022-05-27)vue2409

      form表單中需要提交表格中的數據,并且驗證:

      image.png

      使用el-form包裹表格,實現代碼如下

      1,HTML代碼,el-table標簽放在es-form標簽內

      <el-form
              ref="form"
              :inline="true"
              :model="form"
              size="small"
              :rules="rules"
            >
              <el-table
                ref="table"
                :data="form.stockList"
                style="width: 100%"
                max-height="500"
                row-key="id"
                border
                :header-cell-style="{
                  background: '#F2F6FA',
                  color: '#555555',
                  'text-align': 'center',
                }"
              >
                <el-table-column label="庫位編號" align="center" width="200">
                  <template slot-scope="scope">
                    <el-form-item
                      :rules="rules.positionNo"
                      :prop="'stockList.' + scope.$index + '.positionNo'"
                    >
                      <el-input
                        size="mini"
                        v-model="scope.row.positionNo"
                        placeholder="請輸入庫位編號"
                        maxlength="20"
                        show-word-limit
                      ></el-input>
                    </el-form-item>
                  </template>
                </el-table-column>
                <el-table-column label="庫位類型" align="center">
                  <template slot-scope="scope">
                    <el-form-item
                      :rules="rules.positionType"
                      :prop="'stockList.' + scope.$index + '.positionType'"
                    >
                      <el-select
                        size="mini"
                        v-model="scope.row.positionType"
                        placeholder="請選擇"
                      >
                        <el-option label="地堆" :value="1"></el-option>
                        <el-option label="貨架" :value="2"></el-option>
                      </el-select>
                    </el-form-item>
                  </template>
                </el-table-column>
                <el-table-column label="倉庫名稱" align="center">
                  <template slot-scope="scope">
                    <el-form-item
                      :rules="rules.houseId"
                      :prop="'stockList.' + scope.$index + '.houseId'"
                    >
                      <el-select
                        v-model="scope.row.houseId"
                        filterable
                        remote
                        reserve-keyword
                        placeholder="請輸入倉庫名稱"
                        :remote-method="getProductHouseItemList"
                        :loading="romoteLoading"
                        @change="
                          (id=> {
                            houseChange(scope.$indexid);
                          }
                        "
                      >
                        <el-option
                          v-for="item in productHouseList"
                          :key="item.id"
                          :label="item.houseName"
                          :value="item.id"
                        >
                        </el-option>
                      </el-select>
                    </el-form-item>
                  </template>
                </el-table-column>

                <el-table-column label="庫區名稱" align="center">
                  <template slot-scope="scope">
                    <el-form-item
                      :rules="rules.stockAreaId"
                      :prop="'stockList.' + scope.$index + '.stockAreaId'"
                    >
                      <el-select
                        size="mini"
                        v-model="scope.row.stockAreaId"
                        placeholder="請選擇"
                      >
                        <el-option
                          :label="item.areaName"
                          :value="item.id"
                          v-for="item in areaList"
                          :key="item.id"
                        ></el-option>
                      </el-select>
                    </el-form-item>
                  </template>
                </el-table-column>
                <el-table-column label="操作" width="160" align="center">
                  <template slot-scope="scope">
                    <el-row class="handle-table-box">
                      <el-button
                        size="mini"
                        type="primary"
                        @click="handleAdd(scope.$indexscope.row)"
                      >
                        添加
                      </el-button>
                      <el-button
                        v-if="scope.$index > 0"
                        size="mini"
                        type="danger"
                        @click="handleDelete(scope.$indexscope.row)"
                        >刪除
                      </el-button>
                    </el-row>
                  </template>
                </el-table-column>
              </el-table>
            </el-form>

      2,data中定義數據

      const DEFAULT_FORM = {

        stockList: [
          { positionNo: ""positionType: ""houseId: ""stockAreaId: "" },
        ],
      };


      data() {

          return {

                form: Object.assign({}, DEFAULT_FORM, {})
          }

      }

      3,在methods中定義添加刪除數據方法(因為我的需求是點擊哪一條數據就復制哪一條數據到該數據下面,所以我用splice實現)

      handleAdd(indexrow) {
        this.form.stockList.splice(index + 10, { ...row });

      },

      handleDelete(index) {
        this.form.stockList.splice(index1);
      }


      4,在methods中定義重置表單的方法,當彈框取消或者點擊添加完成后調用此方法

      reset() {

      // 默認保存一個

        this.form = {

            stockList: [

                { positionNo: ""positionType: ""houseId: ""stockAreaId: "" }

            ]

        };

        this.$nextTick(() => {

          // 清空驗證規則

          this.$refs.form.resetFields();

        });

      }


      掃描二維碼推送至手機訪問。

      版權聲明:本文由星星博客發布,如需轉載請注明出處。

      本文鏈接:http://www.7811333.com/?id=390

      分享給朋友:

      “Element-UI 表格中含有form表單提交” 的相關文章

      uniapp 對接極光推送

      uniapp 對接極光推送

      1,進入后臺登錄    https://www.jiguang.cn/accounts/login/form    設置好應用包名,拿到APPKEY2,安裝好極光插件    1),...

      vue3 setup方法執行原理

      Vue 3中的setup函數是在組件實例創建之前調用的一個特殊函數,它主要用于配置組件的狀態和行為。下面是setup函數的執行原理的分析:在組件定義中,通過setup屬性指定一個函數,例如:export default {     &nb...

      uniapp h5設置代理解決跨域問題

      在manifest.json文件中 h5 屬性中加入如下代碼:"h5": {     "devServer": {       &nbs...

      【Vue】深入探究Vue生命周期

      Vue.js 是一款流行的前端框架,廣泛應用于各種 Web 應用開發中。在 Vue.js 中,每個組件都有一個生命周期,它包括一系列鉤子函數,用于在特定階段執行特定的操作。本文將詳細介紹 Vue 組件生命周期,并講述它們的實際應用。生命周期鉤子函數Vue 組件的生命周期分成了 8 個不同的階段,每個...

      Vue.js雙向綁定的實現原理解析與實例演示

      1. 簡介 Vue.js作為一款流行的前端框架,其雙向綁定機制是其核心特性之一。通過雙向綁定,Vue.js實現了數據模型和視圖之間的即時同步,為開發者提供了極大的便利。在本文中,我們將深入探討Vue.js雙向綁定的實現原理,并結合代碼示例進行詳細解釋。...

      Vue中Mixin的應用與實踐

      在Vue.js中,Mixin是一種非常有用的技術,它允許我們將可復用的功能和邏輯抽象出來,并混入到組件中,從而實現代碼的復用和組件的擴展。本文將深入探討Vue中Mixin的應用與實踐,包括Mixin的基本概念、實際應用場景以及相關的代碼示例,最終總結如何合理地應用和實踐Mixin特性。...

      發表評論

      訪客

      ◎歡迎參與討論,請在這里發表您的看法和觀點。
      主站蜘蛛池模板: 激情五月综合综合久久69| 国产综合成色在线视频| 五月丁香六月综合缴清无码| 色综合久久天天综合绕观看| 狠狠色丁香久久婷婷综合图片| 久久婷婷午色综合夜啪| 色天使久久综合给合久久97色| 国产色婷婷精品综合在线| 久久综合九色综合97_久久久| 小说区 图片区色 综合区| 久久综合久久鬼色| 伊人色综合一区二区三区影院视频 | 久久久综合香蕉尹人综合网| 综合国产精品第一页| 婷婷五月综合丁香在线| 国产精品综合色区在线观看| 亚洲狠狠婷婷综合久久| 婷婷综合另类小说色区| 国产成人综合久久精品免费| 97色伦图片97综合影院久久| 天天做天天爱天天综合网| 91探花国产综合在线精品| 久久综合丝袜日本网| 久久本道综合久久伊人| 国产一区二区三区亚洲综合| 天天综合色天天桴色| 97se亚洲综合在线| 色欲久久久天天天综合网精品| 六月丁香激情综合成人| 六月丁香婷婷综合| 久久亚洲综合色一区二区三区| 国产综合色在线精品| 一本色道久久99一综合| 99久久综合狠狠综合久久止| 久久婷婷色综合一区二区 | 国产色综合天天综合网| 中文字幕亚洲综合久久男男| 国产AV综合影院| 亚洲欧洲日产国产综合网| 精品综合久久久久久97| 精品国产第一国产综合精品|