element的表單元素使用總結(jié)
表單元素挺多的,這里簡單總結(jié)下,我以我的方式主要分為:文本框類、選擇類、其他類
- 文本框類
- 選擇類
- 其他類
TL;DR
- 時間類的選擇器,均可設(shè)置輸入框的顯示樣式和值的形式,屬性分別為format、value-format
- 單選框和復(fù)選框,選中項屬性的label值就是model的值
- 復(fù)選框,如果是多選的話,務(wù)必設(shè)置model值是數(shù)組
文本框類
這里我統(tǒng)一將有文本框的元素放在一起。主要有:普通文本框、密碼框、文本域、計數(shù)器、日期選擇器、自動填充文本框、有前綴的文本框。
普通文本框:disabled是否禁用,clearable是否可清空,maxlength/minlength字符的長度,show-word-limit顯示字?jǐn)?shù)統(tǒng)計,prefix-icon/suffix-icon首尾部的顯示圖標(biāo),size指定輸入框的尺寸(large small mini),
<el-input v-model="xx" placeholder="請輸入內(nèi)容" disabled clearable maxlength="10" show-word-limit prefix-icon="el-icon-search" suffix-icon="el-icon-date" size="mini">
密碼框:必須有show-password
<el-input show-password v-model="xx" placeholder="請輸入內(nèi)容" >
文本域:必須有type="textarea",rows控制高度(注意是數(shù)字,需要加:),autosize讓高度根據(jù)內(nèi)容自行調(diào)整(還可設(shè)置最小行數(shù)和最大行數(shù))
<el-inut type="textarea" v-model="xx" :rows="2" autosize>
計數(shù)器:僅允許輸入標(biāo)準(zhǔn)的數(shù)字值,方便的加減數(shù)字,min/max控制最大最小值,steps控制步長
<el-input-number v-model="num" :min="1" :max="10" :steps="2"></el-input-number>
復(fù)合型輸入框:可前置或后置元素(slot)
<el-input placeholder="請輸入內(nèi)容" v-model="xx"> <template slot="prepend">Http://</template> <el-button slot="append" icon="el-icon-search"></el-button> </el-input>
帶輸入建議的輸入框,較復(fù)雜需要再看吧,el-autocomplete
日期選擇器,有點麻煩,單獨一部分講
日期時間選擇器
這里特別強(qiáng)調(diào)的是:輸入框里顯示的格式(format)和綁定值的格式(value-format)可以控制!?。?!
這里特別強(qiáng)調(diào)的是:輸入框里顯示的格式(format)和綁定值的格式(value-format)可以控制!?。。?br />
這里特別強(qiáng)調(diào)的是:輸入框里顯示的格式(format)和綁定值的格式(value-format)可以控制?。。。?br />
年是yyyy,月是MM,日是dd,時是HH,分是mm,秒是ss,周是WW(只限于周選擇器)。通用的是yyyy-MM-dd HH:mm:ss。
注意的坑:
- 除了年,都可以單個,單個表示一位數(shù)的時候不補(bǔ)0。
- HH是24小時制,hh是12小時制?。。?!
- value-format有個特殊的timestamp類型,format有A類型(AM/PM)
- 不設(shè)置value-format,默認(rèn)是這種Fri Oct 18 2019 11:27:54 GMT+0800 (China Standard Time),通常會設(shè)置成timestamp,13位的
- 開始和結(jié)束選擇的值是數(shù)組
選擇的類型如下:
時間選擇器:picker-options設(shè)置選擇的范圍。
<el-time-picker v-model="xx" :picker-options="{selectableRange: '18:30:00 - 20:30:00'}" placeholder="選擇時間">
開始和結(jié)束時間選擇器:必須有is-range屬性,align對齊方式,range-separator分隔符,默認(rèn)是-,start-placeholder和end-placeholder,
<el-time-picker is-range v-model="value1" align="center" range-separator="至" start-placeholder="開始時間" end-placeholder="結(jié)束時間"></el-time-picker>
日期選擇器:必須要type,控制類型(date、week、month、year、dates)
<el-date-picker type="date" v-model="value1" placeholder="選擇日期"> </el-date-picker>
開始和結(jié)束日期選擇器:必須type,控制類型(daterange、weekrange、monthrange、yearrange)
<el-date-picker v-model="value1" type="daterange" range-separator="至" start-placeholder="開始日期" end-placeholder="結(jié)束日期"> </el-date-picker>
日期時間選擇器:必須type="datetime"
<el-date-picker type="datetime" v-model="value1" placeholder="選擇日期時間"> </el-date-picker>
開始和結(jié)束日期時間選擇器:必須type="datetimerange",default-time可以設(shè)置默認(rèn)時間
<el-date-picker type="datetimerange" v-model="value1" range-separator="至" start-placeholder="開始日期" end-placeholder="結(jié)束日期"> </el-date-picker>
選擇類
所有的選擇類的表單元素,都有類似于options的選項,注意model的值和選項中的那個屬性值掛鉤。
option基本統(tǒng)一的模式是{label:'看到的',value:'提交給后臺的值'},但是radio和chebox很奇怪,label的選項居然就是value,寫的時候特別注意?。?!
單選框:model綁定的值是選中項的label值,model值就是默認(rèn)項,undefined就沒有默認(rèn)項。border就會有邊框。想要變成按鈕樣式的就用el-radio-button
<!-- options: [{ value:1, label: '黃金糕' }, { value:1, label: '雙皮奶' }] --> <el-radio-group v-model="radio"> <el-radio v-for="item in options" :key="item.value" :label="item.value" >{{item.label}}</el-radio> </el-radio-group>
復(fù)選框:model的值有兩種類型:Boolean和Array。Boolean的時候就是,選項是否都勾選。Array的時候,選中項的label值會出現(xiàn)在數(shù)組中。indeterminate是true的時候是表示部分選中,用于實現(xiàn)全選的效果。border是帶上邊框
el-checkbox-group標(biāo)簽,min和max表示勾選項目的數(shù)量,size是尺寸,el-checkbox-button是按鈕形式
<el-checkbox v-model="checked" indeterminate>全選</el-checkbox> <el-checkbox-group v-model="checkList"> <!-- options: [{ value:1, label: '黃金糕' }, { value:1, label: '雙皮奶' }] --> <el-checkbox v-for="item in options" :key="item.value" :label="item.value">{{item.label}}</el-checkbox> </el-checkbox-group>
下拉框:model的值是選中的option的value值,disabled設(shè)置不能選。需要分組用el-option-group,遠(yuǎn)程搜索和創(chuàng)建條目參考官網(wǎng)
el-select可設(shè)置:clearable清空,multiple多選(多選的時候值請務(wù)必是數(shù)組),filterable可以搜索選項
el-option可設(shè)置:slot設(shè)置自定義的樣式
<!-- options: [{ value:1, label: '黃金糕' }, { value:1, label: '雙皮奶' }] --> <el-select v-model="value" placeholder="請選擇"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select>
級聯(lián)下拉框:model是數(shù)組,索引對應(yīng)級別。options是類似于遞歸的模式([{value:1,label:'bj',children:[{value:2,label:'haidian'}]}]),默認(rèn)觸發(fā)方式是click,可以hover:props={expandTrigger:'hover'}
<el-cascader v-model="value" :options="options" @change="handleChange"></el-cascader>
其他類
開關(guān):model值是Boolean,可以使用active-color屬性與inactive-color屬性來設(shè)置開關(guān)的背景色
<el-switch v-model="value" active-color="#13ce66" inactive-color="#ff4949"> </el-switch>
滑塊:默認(rèn)是0-100,可以formatTooltip格式化顯示的值
<el-slider v-model="value1" :format-tooltip="formatTooltip"></el-slider>
評分、顏色、穿梭框、沒用,用的時候再說吧~~
上傳:挺復(fù)雜的,這邊我只是簡單羅列下我知道的。accept限制上傳文件的格式,auto-upload要不要自動上傳,limit上傳的數(shù)量,file-list文件顯示的列表,list-type顯示的方式,on-exceed超出了文件數(shù)的鉤子,on-change文件變化的鉤子,on-remove的移除文件的鉤子。鉤子的默認(rèn)參數(shù)大多有file,filelist。
- file-list一般可能需要用computed算出來,因為在編輯狀態(tài)下,應(yīng)該直接有圖片鏈接。
- 第一個文件可以通過this.$refs.eventImage.uploadFiles[0].raw
- 校驗的時候,有時不一定能準(zhǔn)確判斷file的值存不存在,需要手動設(shè)置規(guī)則,每次上傳之后。上傳同一個圖片可能不行的bug需要每次上傳之后設(shè)置this.$refs[ref名].value = ''
<el-upload ref="eventImage" accept="image/*" :auto-upload="false" action="" :limit="1" :file-list="fileListUploaded" list-type="picture-card" :on-exceed="exceedFile" :on-change="changeFile" :on-remove="removeImage" ></el-upload>
到此這篇關(guān)于element的表單元素使用總結(jié)的文章就介紹到這了,更多相關(guān)element 表單內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue+ElementUI實現(xiàn)表單動態(tài)渲染、可視化配置的方法
- Vue ElementUI之Form表單驗證遇到的問題
- 詳解element-ui中表單驗證的三種方式
- vue+elementUI實現(xiàn)表單和圖片上傳及驗證功能示例
- vue使用Element組件時v-for循環(huán)里的表單項驗證方法
- vue elementui form表單驗證的實現(xiàn)
- vue+elementUI 復(fù)雜表單的驗證、數(shù)據(jù)提交方案問題
- Vue ElementUi同時校驗多個表單(巧用new promise)
- vue+element創(chuàng)建動態(tài)的form表單及動態(tài)生成表格的行和列
相關(guān)文章
Vue中使用video.js實現(xiàn)截圖和視頻錄制與下載
這篇文章主要為大家詳細(xì)介紹了Vue中如何使用video.js實現(xiàn)截圖和視頻錄制與下載,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03vue實現(xiàn)對highlight-current-row方式整行選中后修改默認(rèn)背景顏色
這篇文章主要介紹了vue實現(xiàn)對highlight-current-row方式整行選中后修改默認(rèn)背景顏色方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11使用Vue-Router 2實現(xiàn)路由功能實例詳解
vue-router 2只適用于Vue2.x版本,下面我們是基于vue2.0講的如何使用vue-router 2實現(xiàn)路由功能,需要的朋友可以參考下2017-11-11