Api
- Guidelines
- el-alert
- el-autocomplete
- el-breadcrumb
- el-button
- el-checkbox
- el-date-picker
- el-date-tiem-picker
- el-dialog
- el-dropdown
- el-form
- el-icon
- el-input-number
- el-input
- el-loading
- el-menu
- el-message-box
- el-notification
- el-pagination
- el-popover
- el-progress
- el-radio
- el-select
- el-slider
- el-switch
- el-table
- el-tabs
- el-tag
- el-time-picker
- el-tooltip
- el-tree
- el-upload
- Directives
- Filters
- Global Methods
- Cocoa App
- Instance Methods
- Instance Properties
el-autocomplete
基础使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | <style> .demo-box { .el-autocomplete { width: 180px; } .el-autocomplete__suggestions.my-autocomplete-suggestions { width: 300px; & .remark { float: right; font-size: 13px; } } } </style> <script> var $q = require('q'); export default { data() { return { states: [], state1: '', state2: '', state3: '', state4: '', myPartial: { name: 'my-autocomplete-suggestions', template: '<span class="label">选项</span><span class="remark"></span>' } } }, methods: { loadAll() { var allStates = 'Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware,\ Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana,\ Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana,\ Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina,\ North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina,\ South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia,\ Wisconsin, Wyoming'; var result = []; allStates.split(/, +/g).forEach((state) => { if (state) { result.push({ value: state.toLowerCase(), display: state }); } }); return result; }, querySearch(query, simulateQuery) { var states = this.states; var results = query ? states.filter(this.createStateFilter(query)) : states, deferred; if (simulateQuery) { if (!query) { return []; } deferred = $q.defer(); setTimeout(() => { deferred.resolve(results); }, Math.random() * 3000, false); return deferred.promise; } else { return results; } }, createStateFilter(query) { return (state) => { return (state.value.indexOf(query.toLowerCase()) === 0); }; } }, ready() { this.states = this.loadAll(); } }; </script> <div class="demo-box"> <el-autocomplete :value.sync = "state1" :suggestions = "querySearch(state1)" placeholder = "请输入内容" ></el-autocomplete> </div> <template> <el-autocomplete :value.sync = "state1" :suggestions = "querySearch(state1)" placeholder = "请输入内容" ></el-autocomplete> </template> <script> export default { data() { return { state1: '' } }, methods: { loadAll() { var allStates = 'Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware,\ Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana,\ Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana,\ Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina,\ North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina,\ South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia,\ Wisconsin, Wyoming'; var result = []; allStates.split(/, +/g).forEach((state) => { if (state) { result.push({ value: state.toLowerCase(), display: state }); } }); return result; }, querySearch(query, simulateQuery) { var states = this.states; var results = query ? states.filter(this.createStateFilter(query)) : states, deferred; if (simulateQuery) { if (!query) { return []; } deferred = $q.defer(); setTimeout(() => { deferred.resolve(results); }, Math.random() * 3000, false); return deferred.promise; } else { return results; } }, createStateFilter(query) { return (state) => { return (state.value.indexOf(query.toLowerCase()) === 0); }; } }, ready() { this.states = this.loadAll(); } }; </script> |
通过键盘控制下拉的显示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | <div class="demo-box"> <el-autocomplete :value.sync = "state2" :suggestions = "querySearch(state2)" :show-on-up-down = "true" placeholder = "请输入内容" ></el-autocomplete> </div> <template> <el-autocomplete :value.sync = "state2" :suggestions = "querySearch(state2)" :show-on-up-down = "true" placeholder = "请输入内容" ></el-autocomplete> </template> <script> export default { data() { return { state2: '' } }, methods: { loadAll() { var allStates = 'Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware,\ Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana,\ Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana,\ Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina,\ North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina,\ South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia,\ Wisconsin, Wyoming'; var result = []; allStates.split(/, +/g).forEach((state) => { if (state) { result.push({ value: state.toLowerCase(), display: state }); } }); return result; }, querySearch(query, simulateQuery) { var states = this.states; var results = query ? states.filter(this.createStateFilter(query)) : states, deferred; if (simulateQuery) { if (!query) { return []; } deferred = $q.defer(); setTimeout(() => { deferred.resolve(results); }, Math.random() * 3000, false); return deferred.promise; } else { return results; } }, createStateFilter(query) { return (state) => { return (state.value.indexOf(query.toLowerCase()) === 0); }; } }, ready() { this.states = this.loadAll(); } }; </script> |
自定义模板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <div class="demo-box"> <el-autocomplete :value.sync = "state3" :suggestions = "querySearch(state3)" :partial = "myPartial" placeholder = "请输入内容" ></el-autocomplete> </div> <el-autocomplete :value.sync = "state3" :suggestions = "querySearch(state3)" :partial = "myPartial" placeholder = "请输入内容" ></el-autocomplete> <script> export default { data() { return { state3: '', myPartial: { name: 'my-autocomplete-suggestions', template: '<span class="label">选项</span><span class="remark"></span>' } } }, methods: { loadAll() { var allStates = 'Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware,\ Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana,\ Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana,\ Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina,\ North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina,\ South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia,\ Wisconsin, Wyoming'; var result = []; allStates.split(/, +/g).forEach((state) => { if (state) { result.push({ value: state.toLowerCase(), display: state }); } }); return result; }, querySearch(query, simulateQuery) { var states = this.states; var results = query ? states.filter(this.createStateFilter(query)) : states, deferred; if (simulateQuery) { if (!query) { return []; } deferred = $q.defer(); setTimeout(() => { deferred.resolve(results); }, Math.random() * 3000, false); return deferred.promise; } else { return results; } }, createStateFilter(query) { return (state) => { return (state.value.indexOf(query.toLowerCase()) === 0); }; } }, ready() { this.states = this.loadAll(); } }; </script> |
服务端数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | <div class="demo-box"> <el-autocomplete :value.sync = "state4" :suggestions = "querySearch(state4, true)" :search-from-server = "true" placeholder = "请输入内容" ></el-autocomplete> </div> <el-autocomplete :value.sync = "state4" :suggestions = "querySearch(state4, true)" :search-from-server = "true" placeholder = "请输入内容" ></el-autocomplete> <script> var $q = require('q'); export default { data() { return { state4: '' } }, methods: { loadAll() { var allStates = 'Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware,\ Florida, Georgia, Hawaii, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana,\ Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana,\ Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina,\ North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina,\ South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia,\ Wisconsin, Wyoming'; var result = []; allStates.split(/, +/g).forEach((state) => { if (state) { result.push({ value: state.toLowerCase(), display: state }); } }); return result; }, querySearch(query, simulateQuery) { var states = this.states; var results = query ? states.filter(this.createStateFilter(query)) : states, deferred; if (simulateQuery) { if (!query) { return []; } deferred = $q.defer(); setTimeout(() => { deferred.resolve(results); }, Math.random() * 3000, false); return deferred.promise; } else { return results; } }, createStateFilter(query) { return (state) => { return (state.value.indexOf(query.toLowerCase()) === 0); }; } }, ready() { this.states = this.loadAll(); } }; </script> |
API
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| placeholder | 输入框占位文本 | string | ||
| disabled | 禁用 | boolean | true, false | false |
| suggestions | 建议列表 | array,object | ||
| value | 输入绑定值 | string | ||
| showOnUpDown | 是否通过键盘上下键控制建议列表 | boolean | ||
| partial | 建议列表的自定义模板 | object |