Commit 7dcfe45d1b2e5895c21f5045997d2eb6ba14bb4c

Authored by 梁灏
1 parent f10b27f9

update Select

examples/routers/select.vue
... ... @@ -2,8 +2,8 @@
2 2 <Row>
3 3 <i-col span="4">{{model}}</i-col>
4 4 <i-col span="8">
5   - <i-select v-model="model" multiple filterable remote :remote-method="remoteMethod" :loading="loading" clearable>
6   - <i-option v-for="option in options" :value="option.value" :key="option">{{option.label}}</i-option>
  5 + <i-select v-model="model" @input="handleInput" multiple filterable remote :remote-method="remoteMethod" :loading="loading" clearable>
  6 + <i-option v-for="option in options" :value="option.value" :key="new Date()">{{option.label}}</i-option>
7 7 </i-select>
8 8 </i-col>
9 9 </Row>
... ... @@ -82,10 +82,13 @@
82 82 return item.label.toLowerCase()
83 83 .indexOf(query.toLowerCase()) > -1;
84 84 });
85   - }, 200);
  85 + }, 500);
86 86 } else {
87 87 this.options = [];
88 88 }
  89 + },
  90 + handleInput () {
  91 +// console.log(1)
89 92 }
90 93 },
91 94 mounted () {
... ...
src/components/select/select.vue
... ... @@ -222,9 +222,12 @@
222 222 cb(child);
223 223 } else if (child.$children.length) {
224 224 _this.$nextTick(() => {
225   - child.$children.forEach((innerChild) => {
226   - find(innerChild, cb);
227   - });
  225 +// child.$children.forEach((innerChild) => {
  226 +// find(innerChild, cb);
  227 +// });
  228 + });
  229 + child.$children.forEach((innerChild) => {
  230 + find(innerChild, cb);
228 231 });
229 232 }
230 233 };
... ... @@ -300,6 +303,7 @@
300 303 },
301 304 updateMultipleSelected (init = false, slot = false) {
302 305 if (this.multiple && Array.isArray(this.model)) {
  306 + // todo 这里的 label 有问题,另删除字符时也有问题
303 307 let selected = this.remote ? this.selectedMultiple : [];
304 308  
305 309 for (let i = 0; i < this.model.length; i++) {
... ...