vue 前端傳數組字段到后台


 1         <el-form-item class="mr-4" label="銀行名稱" prop="bankId">
 2             <el-select v-model="filterForm.bankId" 
 3                         :placeholder="$t('selectHint')"
 4                         multiple
 5                         collapse-tags
 6                         :clearable='true'>
 7                 <el-option :label="item.bankName" :value="item.id" v-for="item in banks.data"
 8                             :key="item.id"></el-option>
 9 
10             </el-select>
11         </el-form-item>

這是一個選擇銀行名稱的多選框

上面第7行: banks 需要在本class中定義

1 export default class Table extends Vue {
2   banks: any = {};
3 
4   filterForm = {
5     bankId: "", 
6     bankIds : {},
7 
8   .......

第5行 bankId 是上面的prop ,這里的filterForm中定義的字段是需要傳到后台的

 

1     if(this.filterForm.bankId !== ''){
2         this.filterForm.bankIds = this.filterForm.bankId;
3     }else{
4       this.filterForm.bankIds = [];
5     }

上圖:判斷是因數 請求后台的banks方法是異常的,在created()函數中,默認會請求后台查詢數據,這時bankId 是‘’,會導致后面的bankIds賦值異常

 

后台:在pojo中增加 private List<Short> bankIds; 用於接收前端的傳值,在xml中

1         <if test="bankIds !=null and bankIds.size > 0 ">
2             and d.bankid in
3             <foreach collection="bankIds" item="bankid" open="(" close=")" separator=",">
4               #{bankid,jdbcType=NUMERIC}
5             </foreach>
6       </if>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM