国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

element-ui的el-form表單和el-table校驗嵌套使用校驗el-input和el-select

這篇具有很好參考價值的文章主要介紹了element-ui的el-form表單和el-table校驗嵌套使用校驗el-input和el-select。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

場景:前端開發(fā)中,經(jīng)常會遇到比較多的表單填寫頁面,其中有el-form,el-table,表格的每一列中又嵌套著輸入框或者下拉框,然后每個還需要做單獨的校驗

效果:

? 點擊保存可校驗el-input和el-select是否有值,不符合校驗規(guī)則就標紅提醒

el-table el-form校驗,工作積累,vue.js,elementui,javascript

?

1.el-form嵌套el-table

  • 1.el-form里面嵌套el-table
    <el-form :model="formData" :rules="formData.rules" ref="formRef">
        <el-table
           :data="formData.tableData"
           style="width: 100%">
           <el-table-column
             prop="id"
             label="單號"
             width="100">
           </el-table-column>
         </el-table>
    </el-form>
    
  • 2.在el-table-column自定義內(nèi)容里面,嵌套el-form-item,里面再放el-input或者el-select結(jié)構(gòu)
     <el-table-column
       prop="name"
        label="商品名"
        width="180">
        <template slot-scope="scope">
            <el-form-item>
              <el-input v-model="scope.row.name"></el-input>
            </el-form-item>
        </template>
      </el-table-column>
    
  • 3.數(shù)據(jù)的結(jié)構(gòu)
    因為el-form是最外層的,所以formData是個對象,對象里放el-table用到的數(shù)組和rules
    這樣定義是為了校驗時用到rules

?

 formData: {
    rules: {
        name: {
          required: true,
          message: '請輸入商品名',
          tirgger: ['blur', 'change']
        },
        selected: {
          required: true,
          message: '請選擇',
          tirgger: 'change'
        }
      },
      tableData: [
        {id: '001'},
        {id: '002'},
        {id: '003'},
      ]
    },

2.定義規(guī)則

1.el-form綁定: rules使用formData.rules整個對象,同時定義一個ref

<el-form :model="formData" :rules="formData.rules" ref="formRef">

2.保證prop必須唯一
自定義prop:使用 列表數(shù)據(jù)屬性名+列的下標scope.$index+列的數(shù)據(jù)屬性名

 <el-table-column
   prop="name"
    label="商品名"
    width="180">
    <template slot-scope="scope">
        <el-form-item :prop="'tableData.' + scope.$index + '.name'" :rules="formData.rules.name">
          <el-input v-model="scope.row.name"></el-input>
        </el-form-item>
    </template>
  </el-table-column>

注意:如果不是使用列表數(shù)據(jù)屬性名tableData,會出現(xiàn)報錯
Error: please transfer a valid prop path to form item

?3.保證每一個el-form-item都要配置rules屬性
rules使用formData.rules對應(yīng)的屬性的規(guī)則文章來源地址http://www.zghlxwxcb.cn/news/detail-784736.html

3.完整代碼

<template>
  <div>
    <el-form :model="formData" :rules="formData.rules" ref="formRef">
      <el-table
        :data="formData.tableData"
        style="width: 100%">
        <el-table-column
          prop="id"
          label="單號"
          width="100">
        </el-table-column>
        <el-table-column
          prop="name"
          label="商品名"
          width="180">
          <template slot-scope="scope">
            <el-form-item :prop="'tableData.' + scope.$index + '.name'" :rules="formData.rules.name">
              <el-input v-model="scope.row.name"></el-input>
            </el-form-item>
          </template>
        </el-table-column>
        <el-table-column
          prop="class"
          label="分類">
          <template slot-scope="scope">
           <el-form-item :prop="'tableData.' +scope.$index + '.class'" :rules="formData.rules.selected">
             <el-select v-model="scope.row.class">
                <el-option
                  v-for="item in classOption"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                ></el-option>
              </el-select>
           </el-form-item>
          </template>
        </el-table-column>
      </el-table>
    </el-form>
    <el-button @click="submitForm('formRef')">提交</el-button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      formData: {
        rules: {
          name: {
            required: true,
            message: '請輸入商品名',
            tirgger: ['blur', 'change']
          },
          selected: {
            required: true,
            message: '請選擇',
            tirgger: 'change'
          }
        },
        tableData: [
          {id: '001'},
          {id: '002'},
          {id: '003'},
        ]
      },
      classOption: [
        {
          value: 0,
          label: '分類1'
        },
        {
          value: 0,
          label: '分類1'
        }
      ]
    }
  },
  methods: {
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          alert('submit!');
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    },
  }
}
</script>

到了這里,關(guān)于element-ui的el-form表單和el-table校驗嵌套使用校驗el-input和el-select的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 在vue項目里,Element-Ui中el-form 實現(xiàn)一行兩個表單效果

    在vue項目里,Element-Ui中el-form 實現(xiàn)一行兩個表單效果

    1.首先使用elementUi中的Layout 24分欄進行布局,將整個form表單放入24分欄里 如圖所示: 2.再將需要同行顯示的表單放入el-row中的el-col中去 3.然后再根據(jù)你的需求控制一下表單大小就ok啦? 全部代碼: 效果圖如下: ?

    2024年02月11日
    瀏覽(32)
  • el-form 動態(tài)表單增減項 (vue+element ui)

    el-form 動態(tài)表單增減項 (vue+element ui)

    1、點擊”+“,彈出彈窗,新增一項,點擊”-“,刪除當前項 代碼展示: html代碼: 注意: el-form-item(表單項)循環(huán),綁定的數(shù)組寫在form當中 表單: 新增參數(shù)彈框: data: methods: 1、點擊新增,彈出新增彈窗,添加表單項 2、點擊”-“,刪除當前表單項

    2024年02月02日
    瀏覽(27)
  • 【element-ui】 el-form之rules賦值后校驗沒消失

    錯誤原因是在return中定義了一個空對象formLabel,在校驗過程中,formRules值找不到對應(yīng)的formLabel值,此時就出現(xiàn)了在輸入框中賦值之后,校驗不消失 解決方案:

    2024年02月09日
    瀏覽(22)
  • 最簡單 實現(xiàn) Element-ui el-table的懶加載表格數(shù)據(jù) el-table懶加載請求數(shù)據(jù) element-ui 懶加載
  • Element-UI中el-form內(nèi)部在輸入框回車導(dǎo)致刷新頁面的問題解決。

    當 el-form 表單里面只有一個 el-input 輸入框的時候,在輸入框選中時按回車會刷新頁面: 默認情況下, el-form 中只有一個輸入框時, el-form 會自動為輸入框添加一個 type=\\\"submit\\\" 的按鈕,當按下回車鍵時,該按鈕會觸發(fā)表單的提交事件。 在el-form標簽內(nèi)加入 @submit.native.prevent 即可

    2024年02月11日
    瀏覽(24)
  • element-ui中的el-table合并單元格

    element-ui中的el-table合并單元格

    在寫項目的時候有時候會經(jīng)常遇到把行和列合并起來的情況,因為有些數(shù)據(jù)是重復(fù)渲染的,不合并行列會使表格看起來非常的混亂,如下: ?而我們想要的數(shù)據(jù)是下面這種情況,將重復(fù)的行進行合并,使表格看起來簡單明了,如下: ? 1:html部分 所謂的合并行就是將多行相同

    2024年02月10日
    瀏覽(28)
  • [element-ui] el-table點擊高亮當前行

    1、highlight-current-row 2、:row-class-name=“tableRowClassName”,需要借助@row-click=\\\"handleRowClick\\\"獲取當前點擊行的下標 參考: elementUI中table點擊高亮當前行的兩種方式

    2024年03月21日
    瀏覽(31)
  • [element-ui] el-table行添加陰影懸浮效果

    問題: 在el-table每一行獲得焦點與鼠標經(jīng)過時,顯示一個整行的陰影懸浮效果 沒有什么效果 原因: box-shadow對display:table-row元素是不起作用的 解決方案: 弊端 給el-table行加陰影的問題算是解決了,但是卻導(dǎo)致表格內(nèi)容無法操作 1、通常,項目設(shè)計中,el-table會帶一些按鈕,比如

    2024年02月04日
    瀏覽(29)
  • element-ui el-table 樹形結(jié)構(gòu) 父子級聯(lián)動

    el-table 表格 為 select 和 select-all 設(shè)置回調(diào)函數(shù) 簡要數(shù)據(jù)格式 單選 全選 操作 ids 不再設(shè)置 selection-change 回調(diào)函數(shù),直接監(jiān)聽ids 感謝 element-ui el-table 實現(xiàn)全選且父級子級聯(lián)動 提供的思路 另附 el-table 文檔

    2024年02月10日
    瀏覽(108)
  • element-ui el-table 如何實現(xiàn)合并單元格

    el-table的組件的可以合并單元格,先定義參數(shù)span-method 方法objectSpanMethod。在方法內(nèi)控制當前單元格渲染成幾個單元格或者刪除掉當前單元格。 比如:代碼中定義:span-method=\\\"objectSpanMethod\\\" objectSpanMethod實現(xiàn)是在方法區(qū),具體內(nèi)容是根據(jù)變量rowSpanList 去決定當前單元格是展示還是刪

    2024年02月03日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包