100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【Vue.js】Vue.js组件库Element中的单选框 多选框 输入框和计数器

【Vue.js】Vue.js组件库Element中的单选框 多选框 输入框和计数器

时间:2020-03-31 13:09:40

相关推荐

【Vue.js】Vue.js组件库Element中的单选框 多选框 输入框和计数器

1、Radio 单选框

基础用法

由于选项默认可见,不宜过多,若选项过多,建议使用 Select 选择器。

要使用 Radio 组件,只需要设置v-model绑定变量,选中意味着变量的值为相应 Radio label属性的值,label可以是String、Number或Boolean。

<template><el-radio v-model="radio" label="1">备选项</el-radio><el-radio v-model="radio" label="2">备选项</el-radio></template><script>export default {data () {return {radio: '1'};}}</script>

禁用状态

单选框不可用的状态。

只要在el-radio元素中设置disabled属性即可,它接受一个Boolean,true为禁用。

<template><el-radio disabled v-model="radio" label="禁用">备选项</el-radio><el-radio disabled v-model="radio" label="选中且禁用">备选项</el-radio></template><script>export default {data () {return {radio: '选中且禁用'};}}</script>

单选框组

适用于在多个互斥的选项中选择的场景。

结合el-radio-group元素和子元素el-radio可以实现单选组,在el-radio-group中绑定v-model,在el-radio中设置好label即可,无需再给每一个el-radio绑定变量,另外,还提供了change事件来响应变化,它会传入一个参数value。

<template><el-radio-group v-model="radio"><el-radio :label="3">备选项</el-radio><el-radio :label="6">备选项</el-radio><el-radio :label="9">备选项</el-radio></el-radio-group></template><script>export default {data () {return {radio: 3};}}</script>

按钮样式

只需要把el-radio元素换成el-radio-button元素即可,此外,Element 还提供了size属性。

<template><div><el-radio-group v-model="radio1"><el-radio-button label="上海"></el-radio-button><el-radio-button label="北京"></el-radio-button><el-radio-button label="广州"></el-radio-button><el-radio-button label="深圳"></el-radio-button></el-radio-group></div><div style="margin-top: 20px"><el-radio-group v-model="radio2" size="medium"><el-radio-button label="上海" ></el-radio-button><el-radio-button label="北京"></el-radio-button><el-radio-button label="广州"></el-radio-button><el-radio-button label="深圳"></el-radio-button></el-radio-group></div><div style="margin-top: 20px"><el-radio-group v-model="radio3" size="small"><el-radio-button label="上海"></el-radio-button><el-radio-button label="北京" disabled ></el-radio-button><el-radio-button label="广州"></el-radio-button><el-radio-button label="深圳"></el-radio-button></el-radio-group></div><div style="margin-top: 20px"><el-radio-group v-model="radio4" disabled size="mini"><el-radio-button label="上海"></el-radio-button><el-radio-button label="北京"></el-radio-button><el-radio-button label="广州"></el-radio-button><el-radio-button label="深圳"></el-radio-button></el-radio-group></div></template><script>export default {data () {return {radio1: '上海',radio2: '上海',radio3: '上海',radio4: '上海'};}}</script>

带有边框

设置border属性可以渲染为带有边框的单选框。

<template><div><el-radio v-model="radio1" label="1" border>备选项1</el-radio><el-radio v-model="radio1" label="2" border>备选项2</el-radio></div><div style="margin-top: 20px"><el-radio v-model="radio2" label="1" border size="medium">备选项1</el-radio><el-radio v-model="radio2" label="2" border size="medium">备选项2</el-radio></div><div style="margin-top: 20px"><el-radio-group v-model="radio3" size="small"><el-radio label="1" border>备选项1</el-radio><el-radio label="2" border disabled>备选项2</el-radio></el-radio-group></div><div style="margin-top: 20px"><el-radio-group v-model="radio4" size="mini" disabled><el-radio label="1" border>备选项1</el-radio><el-radio label="2" border>备选项2</el-radio></el-radio-group></div></template><script>export default {data () {return {radio1: '1',radio2: '1',radio3: '1',radio4: '1'};}}</script>

Radio Attributes

Radio Events

Radio-group Attributes

Radio-group Events

Radio-button Attributes

2、Checkbox 多选框

基础用法

单独使用可以表示两种状态之间的切换,写在标签中的内容为 checkbox 按钮后的介绍。

在el-checkbox元素中定义v-model绑定变量,单一的checkbox中,默认绑定变量的值会是Boolean,选中为true。

<template><!-- `checked` 为 true 或 false --><el-checkbox v-model="checked">备选项</el-checkbox></template><script>export default {data() {return {checked: true};}};</script>

禁用状态

设置disabled属性即可。

<template><el-checkbox v-model="checked1" disabled>备选项1</el-checkbox><el-checkbox v-model="checked2" disabled>备选项</el-checkbox></template><script>export default {data() {return {checked1: false,checked2: true};}};</script>

多选框组

适用于多个勾选框绑定到同一个数组的情景,通过是否勾选来表示这一组选项中选中的项。

checkbox-group元素能把多个 checkbox 管理为一组,只需要在 Group 中使用v-model绑定Array类型的变量即可。 el-checkbox 的 label属性是该 checkbox 对应的值,若该标签中无内容,则该属性也充当 checkbox 按钮后的介绍。label与数组中的元素值相对应,如果存在指定的值则为选中状态,否则为不选中。

<template><el-checkbox-group v-model="checkList"><el-checkbox label="复选框 A"></el-checkbox><el-checkbox label="复选框 B"></el-checkbox><el-checkbox label="复选框 C"></el-checkbox><el-checkbox label="禁用" disabled></el-checkbox><el-checkbox label="选中且禁用" disabled></el-checkbox></el-checkbox-group></template><script>export default {data () {return {checkList: ['选中且禁用','复选框 A']};}};</script>

indeterminate 状态

indeterminate 属性用以表示 checkbox 的不确定状态,一般用于实现全选的效果。

<template><el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox><div style="margin: 15px 0;"></div><el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange"><el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox></el-checkbox-group></template><script>const cityOptions = ['上海', '北京', '广州', '深圳'];export default {data() {return {checkAll: false,checkedCities: ['上海', '北京'],cities: cityOptions,isIndeterminate: true};},methods: {handleCheckAllChange(val) {this.checkedCities = val ? cityOptions : [];this.isIndeterminate = false;},handleCheckedCitiesChange(value) {let checkedCount = value.length;this.checkAll = checkedCount === this.cities.length;this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;}}};</script>

可选项目数量的限制

使用 min 和 max 属性能够限制可以被勾选的项目的数量。

<template><el-checkbox-group v-model="checkedCities":min="1":max="2"><el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox></el-checkbox-group></template><script>const cityOptions = ['上海', '北京', '广州', '深圳'];export default {data() {return {checkedCities: ['上海', '北京'],cities: cityOptions};}};</script>

按钮样式

按钮样式的多选组合。

只需要把el-checkbox元素替换为el-checkbox-button元素即可。此外,Element 还提供了size属性。

<template><div><el-checkbox-group v-model="checkboxGroup1"><el-checkbox-button v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox-button></el-checkbox-group></div><div style="margin-top: 20px"><el-checkbox-group v-model="checkboxGroup2" size="medium"><el-checkbox-button v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox-button></el-checkbox-group></div><div style="margin-top: 20px"><el-checkbox-group v-model="checkboxGroup3" size="small"><el-checkbox-button v-for="city in cities" :label="city" :disabled="city === '北京'" :key="city">{{city}}</el-checkbox-button></el-checkbox-group></div><div style="margin-top: 20px"><el-checkbox-group v-model="checkboxGroup4" size="mini" disabled><el-checkbox-button v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox-button></el-checkbox-group></div></template><script>const cityOptions = ['上海', '北京', '广州', '深圳'];export default {data () {return {checkboxGroup1: ['上海'],checkboxGroup2: ['上海'],checkboxGroup3: ['上海'],checkboxGroup4: ['上海'],cities: cityOptions};}}</script>

带有边框

设置border属性可以渲染为带有边框的多选框。

<template><div><el-checkbox v-model="checked1" label="备选项1" border></el-checkbox><el-checkbox v-model="checked2" label="备选项2" border></el-checkbox></div><div style="margin-top: 20px"><el-checkbox v-model="checked3" label="备选项1" border size="medium"></el-checkbox><el-checkbox v-model="checked4" label="备选项2" border size="medium"></el-checkbox></div><div style="margin-top: 20px"><el-checkbox-group v-model="checkboxGroup1" size="small"><el-checkbox label="备选项1" border></el-checkbox><el-checkbox label="备选项2" border disabled></el-checkbox></el-checkbox-group></div><div style="margin-top: 20px"><el-checkbox-group v-model="checkboxGroup2" size="mini" disabled><el-checkbox label="备选项1" border></el-checkbox><el-checkbox label="备选项2" border></el-checkbox></el-checkbox-group></div></template><script>export default {data () {return {checked1: true,checked2: false,checked3: false,checked4: true,checkboxGroup1: [],checkboxGroup2: []};}}</script>

Checkbox Attributes

Checkbox Events

Checkbox-group Attributes

Checkbox-group Events

Checkbox-button Attributes

3、Input 输入框

通过鼠标或键盘输入字符。Input 为受控组件,它总会显示 Vue 绑定值。通常情况下,应当处理 input 事件,并更新组件的绑定值(或使用v-model)。否则,输入框内显示的值将不会改变。不支持 v-model 修饰符。

基础用法

<el-input v-model="input" placeholder="请输入内容"></el-input><script>export default {data() {return {input: ''}}}</script>

禁用状态

通过 disabled 属性指定是否禁用 input 组件。

<el-inputplaceholder="请输入内容"v-model="input":disabled="true"></el-input><script>export default {data() {return {input: ''}}}</script>

可清空

使用clearable属性即可得到一个可清空的输入框。

<el-inputplaceholder="请输入内容"v-model="input"clearable></el-input><script>export default {data() {return {input: ''}}}</script>

密码框

使用show-password属性即可得到一个可切换显示隐藏的密码框。

<el-input placeholder="请输入密码" v-model="input" show-password></el-input><script>export default {data() {return {input: ''}}}</script>

带 icon 的输入框

带有图标标记输入类型。

可以通过 prefix-icon 和 suffix-icon 属性在 input 组件首部和尾部增加显示图标,也可以通过 slot 来放置图标。

<div class="demo-input-suffix">属性方式:<el-inputplaceholder="请选择日期"suffix-icon="el-icon-date"v-model="input1"></el-input><el-inputplaceholder="请输入内容"prefix-icon="el-icon-search"v-model="input2"></el-input></div><div class="demo-input-suffix">slot 方式:<el-inputplaceholder="请选择日期"v-model="input3"><i slot="suffix" class="el-input__icon el-icon-date"></i></el-input><el-inputplaceholder="请输入内容"v-model="input4"><i slot="prefix" class="el-input__icon el-icon-search"></i></el-input></div><script>export default {data() {return {input1: '',input2: '',input3: '',input4: ''}}}</script>

文本域

用于输入多行文本信息,通过将 type 属性的值指定为 textarea。

文本域高度可通过 rows 属性控制。

<el-inputtype="textarea":rows="2"placeholder="请输入内容"v-model="textarea"></el-input><script>export default {data() {return {textarea: ''}}}</script>

可自适应文本高度的文本域

通过设置 autosize 属性可以使得文本域的高度能够根据文本内容自动进行调整,并且 autosize 还可以设定为一个对象,指定最小行数和最大行数。

<el-inputtype="textarea"autosizeplaceholder="请输入内容"v-model="textarea1"></el-input><div style="margin: 20px 0;"></div><el-inputtype="textarea":autosize="{ minRows: 2, maxRows: 4}"placeholder="请输入内容"v-model="textarea2"></el-input><script>export default {data() {return {textarea1: '',textarea2: ''}}}</script>

复合型输入框

可前置或后置元素,一般为标签或按钮。

可通过 slot 来指定在 input 中前置或者后置内容。

<div><el-input placeholder="请输入内容" v-model="input1"><template slot="prepend">Http://</template></el-input></div><div style="margin-top: 15px;"><el-input placeholder="请输入内容" v-model="input2"><template slot="append">.com</template></el-input></div><div style="margin-top: 15px;"><el-input placeholder="请输入内容" v-model="input3" class="input-with-select"><el-select v-model="select" slot="prepend" placeholder="请选择"><el-option label="餐厅名" value="1"></el-option><el-option label="订单号" value="2"></el-option><el-option label="用户电话" value="3"></el-option></el-select><el-button slot="append" icon="el-icon-search"></el-button></el-input></div><style>.el-select .el-input {width: 130px;}.input-with-select .el-input-group__prepend {background-color: #fff;}</style><script>export default {data() {return {input1: '',input2: '',input3: '',select: ''}}}</script>

尺寸

可通过 size 属性指定输入框的尺寸,除了默认的大小外,还提供了 large、small 和 mini 三种尺寸。

<div class="demo-input-size"><el-inputplaceholder="请输入内容"suffix-icon="el-icon-date"v-model="input1"></el-input><el-inputsize="medium"placeholder="请输入内容"suffix-icon="el-icon-date"v-model="input2"></el-input><el-inputsize="small"placeholder="请输入内容"suffix-icon="el-icon-date"v-model="input3"></el-input><el-inputsize="mini"placeholder="请输入内容"suffix-icon="el-icon-date"v-model="input4"></el-input></div><script>export default {data() {return {input1: '',input2: '',input3: '',input4: ''}}}</script>

带输入建议

根据输入内容提供对应的输入建议。

autocomplete 是一个可带输入建议的输入框组件,fetch-suggestions 是一个返回输入建议的方法属性,如 querySearch(queryString, cb),在该方法中你可以在你的输入建议数据准备好时通过 cb(data) 返回到 autocomplete 组件中。

<el-row class="demo-autocomplete"><el-col :span="12"><div class="sub-title">激活即列出输入建议</div><el-autocompleteclass="inline-input"v-model="state1":fetch-suggestions="querySearch"placeholder="请输入内容"@select="handleSelect"></el-autocomplete></el-col><el-col :span="12"><div class="sub-title">输入后匹配输入建议</div><el-autocompleteclass="inline-input"v-model="state2":fetch-suggestions="querySearch"placeholder="请输入内容":trigger-on-focus="false"@select="handleSelect"></el-autocomplete></el-col></el-row><script>export default {data() {return {restaurants: [],state1: '',state2: ''};},methods: {querySearch(queryString, cb) {var restaurants = this.restaurants;var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;// 调用 callback 返回建议列表的数据cb(results);},createFilter(queryString) {return (restaurant) => {return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);};},loadAll() {return [{"value": "三全鲜食(北新泾店)", "address": "长宁区新渔路144号" },{"value": "Hot honey 首尔炸鸡(仙霞路)", "address": "上海市长宁区淞虹路661号" },{"value": "新旺角茶餐厅", "address": "上海市普陀区真北路988号创邑金沙谷6号楼113" },{"value": "泷千家(天山西路店)", "address": "天山西路438号" },{"value": "胖仙女纸杯蛋糕(上海凌空店)", "address": "上海市长宁区金钟路968号1幢18号楼一层商铺18-101" },{"value": "贡茶", "address": "上海市长宁区金钟路633号" },{"value": "豪大大香鸡排超级奶爸", "address": "上海市嘉定区曹安公路曹安路1685号" },{"value": "茶芝兰(奶茶,手抓饼)", "address": "上海市普陀区同普路1435号" },{"value": "十二泷町", "address": "上海市北翟路1444弄81号B幢-107" },{"value": "星移浓缩咖啡", "address": "上海市嘉定区新郁路817号" },{"value": "阿姨奶茶/豪大大", "address": "嘉定区曹安路1611号" },{"value": "新麦甜四季甜品炸鸡", "address": "嘉定区曹安公路2383弄55号" },{"value": "Monica摩托主题咖啡店", "address": "嘉定区江桥镇曹安公路2409号1F,2383弄62号1F" },{"value": "浮生若茶(凌空soho店)", "address": "上海长宁区金钟路968号9号楼地下一层" },{"value": "NONO JUICE 鲜榨果汁", "address": "上海市长宁区天山西路119号" },{"value": "CoCo都可(北新泾店)", "address": "上海市长宁区仙霞西路" },{"value": "快乐柠檬(神州智慧店)", "address": "上海市长宁区天山西路567号1层R117号店铺" },{"value": "Merci Paul cafe", "address": "上海市普陀区光复西路丹巴路28弄6号楼819" },{"value": "猫山王(西郊百联店)", "address": "上海市长宁区仙霞西路88号第一层G05-F01-1-306" },{"value": "枪会山", "address": "上海市普陀区棕榈路" },{"value": "纵食", "address": "元丰天山花园(东门) 双流路267号" },{"value": "钱记", "address": "上海市长宁区天山西路" },{"value": "壹杯加", "address": "上海市长宁区通协路" },{"value": "唦哇嘀咖", "address": "上海市长宁区新泾镇金钟路999号2幢(B幢)第01层第1-02A单元" },{"value": "爱茜茜里(西郊百联)", "address": "长宁区仙霞西路88号1305室" },{"value": "爱茜茜里(近铁广场)", "address": "上海市普陀区真北路818号近铁城市广场北区地下二楼N-B2-O2-C商铺" },{"value": "鲜果榨汁(金沙江路和美广店)", "address": "普陀区金沙江路2239号金沙和美广场B1-10-6" },{"value": "开心丽果(缤谷店)", "address": "上海市长宁区威宁路天山路341号" },{"value": "超级鸡车(丰庄路店)", "address": "上海市嘉定区丰庄路240号" },{"value": "妙生活果园(北新泾店)", "address": "长宁区新渔路144号" },{"value": "香宜度麻辣香锅", "address": "长宁区淞虹路148号" },{"value": "凡仔汉堡(老真北路店)", "address": "上海市普陀区老真北路160号" },{"value": "港式小铺", "address": "上海市长宁区金钟路968号15楼15-105室" },{"value": "蜀香源麻辣香锅(剑河路店)", "address": "剑河路443-1" },{"value": "北京饺子馆", "address": "长宁区北新泾街道天山西路490-1号" },{"value": "饭典*新简餐(凌空SOHO店)", "address": "上海市长宁区金钟路968号9号楼地下一层9-83室" },{"value": "焦耳·川式快餐(金钟路店)", "address": "上海市金钟路633号地下一层甲部" },{"value": "动力鸡车", "address": "长宁区仙霞西路299弄3号101B" },{"value": "浏阳蒸菜", "address": "天山西路430号" },{"value": "四海游龙(天山西路店)", "address": "上海市长宁区天山西路" },{"value": "樱花食堂(凌空店)", "address": "上海市长宁区金钟路968号15楼15-105室" },{"value": "壹分米客家传统调制米粉(天山店)", "address": "天山西路428号" },{"value": "福荣祥烧腊(平溪路店)", "address": "上海市长宁区协和路福泉路255弄57-73号" },{"value": "速记黄焖鸡米饭", "address": "上海市长宁区北新泾街道金钟路180号1层01号摊位" },{"value": "红辣椒麻辣烫", "address": "上海市长宁区天山西路492号" },{"value": "(小杨生煎)西郊百联餐厅", "address": "长宁区仙霞西路88号百联2楼" },{"value": "阳阳麻辣烫", "address": "天山西路389号" },{"value": "南拳妈妈龙虾盖浇饭", "address": "普陀区金沙江路1699号鑫乐惠美食广场A13" }];},handleSelect(item) {console.log(item);}},mounted() {this.restaurants = this.loadAll();}}</script>

自定义模板

可自定义输入建议的显示。

使用scoped slot自定义输入建议的模板。该 scope 的参数为item,表示当前输入建议对象。

<el-autocompletepopper-class="my-autocomplete"v-model="state":fetch-suggestions="querySearch"placeholder="请输入内容"@select="handleSelect"><iclass="el-icon-edit el-input__icon"slot="suffix"@click="handleIconClick"></i><template slot-scope="{ item }"><div class="name">{{ item.value }}</div><span class="addr">{{ item.address }}</span></template></el-autocomplete><style>.my-autocomplete {li {line-height: normal;padding: 7px;.name {text-overflow: ellipsis;overflow: hidden;}.addr {font-size: 12px;color: #b4b4b4;}.highlighted .addr {color: #ddd;}}}</style><script>export default {data() {return {restaurants: [],state: ''};},methods: {querySearch(queryString, cb) {var restaurants = this.restaurants;var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;// 调用 callback 返回建议列表的数据cb(results);},createFilter(queryString) {return (restaurant) => {return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);};},loadAll() {return [{"value": "三全鲜食(北新泾店)", "address": "长宁区新渔路144号" },{"value": "Hot honey 首尔炸鸡(仙霞路)", "address": "上海市长宁区淞虹路661号" },{"value": "新旺角茶餐厅", "address": "上海市普陀区真北路988号创邑金沙谷6号楼113" },{"value": "泷千家(天山西路店)", "address": "天山西路438号" },{"value": "胖仙女纸杯蛋糕(上海凌空店)", "address": "上海市长宁区金钟路968号1幢18号楼一层商铺18-101" },{"value": "贡茶", "address": "上海市长宁区金钟路633号" },{"value": "豪大大香鸡排超级奶爸", "address": "上海市嘉定区曹安公路曹安路1685号" },{"value": "茶芝兰(奶茶,手抓饼)", "address": "上海市普陀区同普路1435号" },{"value": "十二泷町", "address": "上海市北翟路1444弄81号B幢-107" },{"value": "星移浓缩咖啡", "address": "上海市嘉定区新郁路817号" },{"value": "阿姨奶茶/豪大大", "address": "嘉定区曹安路1611号" },{"value": "新麦甜四季甜品炸鸡", "address": "嘉定区曹安公路2383弄55号" },{"value": "Monica摩托主题咖啡店", "address": "嘉定区江桥镇曹安公路2409号1F,2383弄62号1F" },{"value": "浮生若茶(凌空soho店)", "address": "上海长宁区金钟路968号9号楼地下一层" },{"value": "NONO JUICE 鲜榨果汁", "address": "上海市长宁区天山西路119号" },{"value": "CoCo都可(北新泾店)", "address": "上海市长宁区仙霞西路" },{"value": "快乐柠檬(神州智慧店)", "address": "上海市长宁区天山西路567号1层R117号店铺" },{"value": "Merci Paul cafe", "address": "上海市普陀区光复西路丹巴路28弄6号楼819" },{"value": "猫山王(西郊百联店)", "address": "上海市长宁区仙霞西路88号第一层G05-F01-1-306" },{"value": "枪会山", "address": "上海市普陀区棕榈路" },{"value": "纵食", "address": "元丰天山花园(东门) 双流路267号" },{"value": "钱记", "address": "上海市长宁区天山西路" },{"value": "壹杯加", "address": "上海市长宁区通协路" },{"value": "唦哇嘀咖", "address": "上海市长宁区新泾镇金钟路999号2幢(B幢)第01层第1-02A单元" },{"value": "爱茜茜里(西郊百联)", "address": "长宁区仙霞西路88号1305室" },{"value": "爱茜茜里(近铁广场)", "address": "上海市普陀区真北路818号近铁城市广场北区地下二楼N-B2-O2-C商铺" },{"value": "鲜果榨汁(金沙江路和美广店)", "address": "普陀区金沙江路2239号金沙和美广场B1-10-6" },{"value": "开心丽果(缤谷店)", "address": "上海市长宁区威宁路天山路341号" },{"value": "超级鸡车(丰庄路店)", "address": "上海市嘉定区丰庄路240号" },{"value": "妙生活果园(北新泾店)", "address": "长宁区新渔路144号" },{"value": "香宜度麻辣香锅", "address": "长宁区淞虹路148号" },{"value": "凡仔汉堡(老真北路店)", "address": "上海市普陀区老真北路160号" },{"value": "港式小铺", "address": "上海市长宁区金钟路968号15楼15-105室" },{"value": "蜀香源麻辣香锅(剑河路店)", "address": "剑河路443-1" },{"value": "北京饺子馆", "address": "长宁区北新泾街道天山西路490-1号" },{"value": "饭典*新简餐(凌空SOHO店)", "address": "上海市长宁区金钟路968号9号楼地下一层9-83室" },{"value": "焦耳·川式快餐(金钟路店)", "address": "上海市金钟路633号地下一层甲部" },{"value": "动力鸡车", "address": "长宁区仙霞西路299弄3号101B" },{"value": "浏阳蒸菜", "address": "天山西路430号" },{"value": "四海游龙(天山西路店)", "address": "上海市长宁区天山西路" },{"value": "樱花食堂(凌空店)", "address": "上海市长宁区金钟路968号15楼15-105室" },{"value": "壹分米客家传统调制米粉(天山店)", "address": "天山西路428号" },{"value": "福荣祥烧腊(平溪路店)", "address": "上海市长宁区协和路福泉路255弄57-73号" },{"value": "速记黄焖鸡米饭", "address": "上海市长宁区北新泾街道金钟路180号1层01号摊位" },{"value": "红辣椒麻辣烫", "address": "上海市长宁区天山西路492号" },{"value": "(小杨生煎)西郊百联餐厅", "address": "长宁区仙霞西路88号百联2楼" },{"value": "阳阳麻辣烫", "address": "天山西路389号" },{"value": "南拳妈妈龙虾盖浇饭", "address": "普陀区金沙江路1699号鑫乐惠美食广场A13" }];},handleSelect(item) {console.log(item);},handleIconClick(ev) {console.log(ev);}},mounted() {this.restaurants = this.loadAll();}}</script>

远程搜索

从服务端搜索数据。

<el-autocompletev-model="state":fetch-suggestions="querySearchAsync"placeholder="请输入内容"@select="handleSelect"></el-autocomplete><script>export default {data() {return {restaurants: [],state: '',timeout: null};},methods: {loadAll() {return [{"value": "三全鲜食(北新泾店)", "address": "长宁区新渔路144号" },{"value": "Hot honey 首尔炸鸡(仙霞路)", "address": "上海市长宁区淞虹路661号" },{"value": "新旺角茶餐厅", "address": "上海市普陀区真北路988号创邑金沙谷6号楼113" },{"value": "泷千家(天山西路店)", "address": "天山西路438号" },{"value": "胖仙女纸杯蛋糕(上海凌空店)", "address": "上海市长宁区金钟路968号1幢18号楼一层商铺18-101" },{"value": "贡茶", "address": "上海市长宁区金钟路633号" },{"value": "豪大大香鸡排超级奶爸", "address": "上海市嘉定区曹安公路曹安路1685号" },{"value": "茶芝兰(奶茶,手抓饼)", "address": "上海市普陀区同普路1435号" },{"value": "十二泷町", "address": "上海市北翟路1444弄81号B幢-107" },{"value": "星移浓缩咖啡", "address": "上海市嘉定区新郁路817号" },{"value": "阿姨奶茶/豪大大", "address": "嘉定区曹安路1611号" },{"value": "新麦甜四季甜品炸鸡", "address": "嘉定区曹安公路2383弄55号" },{"value": "Monica摩托主题咖啡店", "address": "嘉定区江桥镇曹安公路2409号1F,2383弄62号1F" },{"value": "浮生若茶(凌空soho店)", "address": "上海长宁区金钟路968号9号楼地下一层" },{"value": "NONO JUICE 鲜榨果汁", "address": "上海市长宁区天山西路119号" },{"value": "CoCo都可(北新泾店)", "address": "上海市长宁区仙霞西路" },{"value": "快乐柠檬(神州智慧店)", "address": "上海市长宁区天山西路567号1层R117号店铺" },{"value": "Merci Paul cafe", "address": "上海市普陀区光复西路丹巴路28弄6号楼819" },{"value": "猫山王(西郊百联店)", "address": "上海市长宁区仙霞西路88号第一层G05-F01-1-306" },{"value": "枪会山", "address": "上海市普陀区棕榈路" },{"value": "纵食", "address": "元丰天山花园(东门) 双流路267号" },{"value": "钱记", "address": "上海市长宁区天山西路" },{"value": "壹杯加", "address": "上海市长宁区通协路" },{"value": "唦哇嘀咖", "address": "上海市长宁区新泾镇金钟路999号2幢(B幢)第01层第1-02A单元" },{"value": "爱茜茜里(西郊百联)", "address": "长宁区仙霞西路88号1305室" },{"value": "爱茜茜里(近铁广场)", "address": "上海市普陀区真北路818号近铁城市广场北区地下二楼N-B2-O2-C商铺" },{"value": "鲜果榨汁(金沙江路和美广店)", "address": "普陀区金沙江路2239号金沙和美广场B1-10-6" },{"value": "开心丽果(缤谷店)", "address": "上海市长宁区威宁路天山路341号" },{"value": "超级鸡车(丰庄路店)", "address": "上海市嘉定区丰庄路240号" },{"value": "妙生活果园(北新泾店)", "address": "长宁区新渔路144号" },{"value": "香宜度麻辣香锅", "address": "长宁区淞虹路148号" },{"value": "凡仔汉堡(老真北路店)", "address": "上海市普陀区老真北路160号" },{"value": "港式小铺", "address": "上海市长宁区金钟路968号15楼15-105室" },{"value": "蜀香源麻辣香锅(剑河路店)", "address": "剑河路443-1" },{"value": "北京饺子馆", "address": "长宁区北新泾街道天山西路490-1号" },{"value": "饭典*新简餐(凌空SOHO店)", "address": "上海市长宁区金钟路968号9号楼地下一层9-83室" },{"value": "焦耳·川式快餐(金钟路店)", "address": "上海市金钟路633号地下一层甲部" },{"value": "动力鸡车", "address": "长宁区仙霞西路299弄3号101B" },{"value": "浏阳蒸菜", "address": "天山西路430号" },{"value": "四海游龙(天山西路店)", "address": "上海市长宁区天山西路" },{"value": "樱花食堂(凌空店)", "address": "上海市长宁区金钟路968号15楼15-105室" },{"value": "壹分米客家传统调制米粉(天山店)", "address": "天山西路428号" },{"value": "福荣祥烧腊(平溪路店)", "address": "上海市长宁区协和路福泉路255弄57-73号" },{"value": "速记黄焖鸡米饭", "address": "上海市长宁区北新泾街道金钟路180号1层01号摊位" },{"value": "红辣椒麻辣烫", "address": "上海市长宁区天山西路492号" },{"value": "(小杨生煎)西郊百联餐厅", "address": "长宁区仙霞西路88号百联2楼" },{"value": "阳阳麻辣烫", "address": "天山西路389号" },{"value": "南拳妈妈龙虾盖浇饭", "address": "普陀区金沙江路1699号鑫乐惠美食广场A13" }];},querySearchAsync(queryString, cb) {var restaurants = this.restaurants;var results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants;clearTimeout(this.timeout);this.timeout = setTimeout(() => {cb(results);}, 3000 * Math.random());},createStateFilter(queryString) {return (state) => {return (state.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);};},handleSelect(item) {console.log(item);}},mounted() {this.restaurants = this.loadAll();}};</script>

输入长度限制

maxlength 和 minlength 是原生属性,用来限制输入框的字符长度,其中字符长度是用 Javascript 的字符串长度统计的。对于类型为 text 或 textarea 的输入框,在使用 maxlength 属性限制最大输入长度的同时,可通过设置 show-word-limit 属性来展示字数统计。

<el-inputtype="text"placeholder="请输入内容"v-model="text"maxlength="10"show-word-limit></el-input><div style="margin: 20px 0;"></div><el-inputtype="textarea"placeholder="请输入内容"v-model="textarea"maxlength="30"show-word-limit></el-input><script>export default {data() {return {text: '',textarea: ''}}}</script>

Input Attributes

Input Slots

Input Events

Input Methods

Autocomplete Attributes

Autocomplete Slots

Autocomplete Scoped Slot

Autocomplete Events

Autocomplete Methods

4、InputNumber 计数器

仅允许输入标准的数字值,可定义范围。

基础用法

要使用它,只需要在el-input-number元素中使用v-model绑定变量即可,变量的初始值即为默认值。

<template><el-input-number v-model="num" @change="handleChange" :min="1" :max="10" label="描述文字"></el-input-number></template><script>export default {data() {return {num: 1};},methods: {handleChange(value) {console.log(value);}}};</script>

禁用状态

disabled属性接受一个Boolean,设置为true即可禁用整个组件,如果你只需要控制数值在某一范围内,可以设置min属性和max属性,不设置min和max时,最小值为 0。

<template><el-input-number v-model="num" :disabled="true"></el-input-number></template><script>export default {data() {return {num: 1}}};</script>

步数

允许定义递增递减的步数控制。

设置step属性可以控制步长,接受一个Number。

<template><el-input-number v-model="num" :step="2"></el-input-number></template><script>export default {data() {return {num: 5}}};</script>

严格步数

step-strictly属性接受一个Boolean。如果这个属性被设置为true,则只能输入步数的倍数。

<template><el-input-number v-model="num" :step="2" step-strictly></el-input-number></template><script>export default {data() {return {num: 2}}};</script>

精度

设置 precision 属性可以控制数值精度,接收一个 Number。

<template><el-input-number v-model="num" :precision="2" :step="0.1" :max="10"></el-input-number></template><script>export default {data() {return {num: 1}}};</script>

precision 的值必须是一个非负整数,并且不能小于 step 的小数位数。

尺寸

额外提供了 medium、small、mini 三种尺寸的数字输入框。

<template><el-input-number v-model="num1"></el-input-number><el-input-number size="medium" v-model="num2"></el-input-number><el-input-number size="small" v-model="num3"></el-input-number><el-input-number size="mini" v-model="num4"></el-input-number></template><script>export default {data() {return {num1: 1,num2: 1,num3: 1,num4: 1}}};</script>

按钮位置

设置 controls-position 属性可以控制按钮位置。

<template><el-input-number v-model="num" controls-position="right" @change="handleChange" :min="1" :max="10"></el-input-number></template><script>export default {data() {return {num: 1};},methods: {handleChange(value) {console.log(value);}}};</script>

Attributes

Events

Methods

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。