Commit daa9827c92ccdef437c420a47f724bc740b861cc

Authored by 梁灏
1 parent 6da6fffa

fixed #1553

examples/routers/cascader.vue
1 <template> 1 <template>
2 - <div style="width: 400px;">  
3 - <Row>  
4 - <i-col span="12">  
5 - <Cascader transfer v-model="value3" :data="data" filterable></Cascader>  
6 - </i-col>  
7 - <i-col span="12">  
8 - <Cascader v-model="value3" :data="data" filterable></Cascader>  
9 - </i-col>  
10 - </Row> 2 + <div style="margin: 100px;width: 200px;">
  3 + <Cascader :data="data" v-model="value1" change-on-select></Cascader>
11 </div> 4 </div>
12 </template> 5 </template>
13 <script> 6 <script>
14 export default { 7 export default {
15 data () { 8 data () {
16 return { 9 return {
  10 + value1: [],
17 data: [{ 11 data: [{
18 value: 'beijing', 12 value: 'beijing',
19 label: '北京', 13 label: '北京',
@@ -60,8 +54,7 @@ @@ -60,8 +54,7 @@
60 ] 54 ]
61 } 55 }
62 ], 56 ],
63 - }],  
64 - value3: [] 57 + }]
65 } 58 }
66 } 59 }
67 } 60 }
src/components/cascader/caspanel.vue
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 <script> 15 <script>
16 import Casitem from './casitem.vue'; 16 import Casitem from './casitem.vue';
17 import Emitter from '../../mixins/emitter'; 17 import Emitter from '../../mixins/emitter';
18 - import { findComponentUpward } from '../../utils/assist'; 18 + import { findComponentUpward, findComponentDownward } from '../../utils/assist';
19 19
20 let key = 1; 20 let key = 1;
21 21
@@ -84,6 +84,14 @@ @@ -84,6 +84,14 @@
84 changeOnSelect: this.changeOnSelect, 84 changeOnSelect: this.changeOnSelect,
85 fromInit: fromInit 85 fromInit: fromInit
86 }); 86 });
  87 +
  88 + // #1553
  89 + if (this.changeOnSelect) {
  90 + const Caspanel = findComponentDownward(this, 'Caspanel');
  91 + if (Caspanel) {
  92 + Caspanel.$emit('on-clear', true);
  93 + }
  94 + }
87 } else { 95 } else {
88 this.sublist = []; 96 this.sublist = [];
89 this.dispatch('Cascader', 'on-result-change', { 97 this.dispatch('Cascader', 'on-result-change', {
@@ -135,9 +143,16 @@ @@ -135,9 +143,16 @@
135 } 143 }
136 } 144 }
137 }); 145 });
138 - this.$on('on-clear', () => { 146 + // deep for #1553
  147 + this.$on('on-clear', (deep = false) => {
139 this.sublist = []; 148 this.sublist = [];
140 this.tmpItem = {}; 149 this.tmpItem = {};
  150 + if (deep) {
  151 + const Caspanel = findComponentDownward(this, 'Caspanel');
  152 + if (Caspanel) {
  153 + Caspanel.$emit('on-clear', true);
  154 + }
  155 + }
141 }); 156 });
142 } 157 }
143 }; 158 };
src/locale/lang/vi-VN.js
1 export default { 1 export default {
2 - i: {  
3 - select: {  
4 - placeholder: 'Chọn',  
5 - noMatch: 'Không tìm thấy',  
6 - loading: 'Đang tải'  
7 - },  
8 - table: {  
9 - noDataText: 'Không có dữ liệu',  
10 - noFilteredDataText: 'Không có dữ liệu lọc',  
11 - confirmFilter: 'Xác nhận',  
12 - resetFilter: 'Làm lại',  
13 - clearFilter: 'Xóa hết'  
14 - },  
15 - datepicker: {  
16 - selectDate: 'Chọn ngày',  
17 - selectTime: 'Chọn giờ',  
18 - startTime: 'Ngày bắt đầu',  
19 - endTime: 'Ngày kết thúc',  
20 - clear: 'Xóa',  
21 - ok: 'Đồng ý',  
22 - month: '',  
23 - month1: 'Tháng 1',  
24 - month2: 'Tháng 2',  
25 - month3: 'Tháng 3',  
26 - month4: 'Tháng 4',  
27 - month5: 'Tháng 5',  
28 - month6: 'Tháng 6',  
29 - month7: 'Tháng 7',  
30 - month8: 'Tháng 8',  
31 - month9: 'Tháng 9',  
32 - month10: 'Tháng 10',  
33 - month11: 'Tháng 11',  
34 - month12: 'Tháng 12',  
35 - year: '',  
36 - weeks: {  
37 - sun: 'CN',  
38 - mon: 'T2',  
39 - tue: 'T3',  
40 - wed: 'T4',  
41 - thu: 'T5',  
42 - fri: 'T6',  
43 - sat: 'T7'  
44 - },  
45 - months: {  
46 - m1: 'Th.1',  
47 - m2: 'Th.2',  
48 - m3: 'Th.3',  
49 - m4: 'Th.4',  
50 - m5: 'Th.5',  
51 - m6: 'Th.6',  
52 - m7: 'Th.7',  
53 - m8: 'Th.8',  
54 - m9: 'Th.9',  
55 - m10: 'Th.10',  
56 - m11: 'Th.11',  
57 - m12: 'Th.12'  
58 - }  
59 - },  
60 - transfer: {  
61 - titles: {  
62 - source: 'Nguồn',  
63 - target: 'Đích'  
64 - },  
65 - filterPlaceholder: 'Nhập từ khóa',  
66 - notFoundText: 'Không tìm thấy'  
67 - },  
68 - modal: {  
69 - okText: 'Đồng ý',  
70 - cancelText: 'Hủy bỏ'  
71 - },  
72 - poptip: {  
73 - okText: 'Đồng ý',  
74 - cancelText: 'Hủy bỏ'  
75 - },  
76 - page: {  
77 - prev: 'Trang trước',  
78 - next: 'Trang kế',  
79 - total: 'Tổng',  
80 - item: 'kết quả',  
81 - items: 'kết quả',  
82 - prev5: '5 trang trước',  
83 - next5: '5 trang kế',  
84 - page: '/trang',  
85 - goto: 'Tới trang',  
86 - p: ''  
87 - },  
88 - rate: {  
89 - star: 'Sao',  
90 - stars: 'Sao'  
91 - },  
92 - tree: {  
93 - emptyText: 'Không có dữ liệu' 2 + i: {
  3 + select: {
  4 + placeholder: 'Chọn',
  5 + noMatch: 'Không tìm thấy',
  6 + loading: 'Đang tải'
  7 + },
  8 + table: {
  9 + noDataText: 'Không có dữ liệu',
  10 + noFilteredDataText: 'Không có dữ liệu lọc',
  11 + confirmFilter: 'Xác nhận',
  12 + resetFilter: 'Làm lại',
  13 + clearFilter: 'Xóa hết'
  14 + },
  15 + datepicker: {
  16 + selectDate: 'Chọn ngày',
  17 + selectTime: 'Chọn giờ',
  18 + startTime: 'Ngày bắt đầu',
  19 + endTime: 'Ngày kết thúc',
  20 + clear: 'Xóa',
  21 + ok: 'Đồng ý',
  22 + month: '',
  23 + month1: 'Tháng 1',
  24 + month2: 'Tháng 2',
  25 + month3: 'Tháng 3',
  26 + month4: 'Tháng 4',
  27 + month5: 'Tháng 5',
  28 + month6: 'Tháng 6',
  29 + month7: 'Tháng 7',
  30 + month8: 'Tháng 8',
  31 + month9: 'Tháng 9',
  32 + month10: 'Tháng 10',
  33 + month11: 'Tháng 11',
  34 + month12: 'Tháng 12',
  35 + year: '',
  36 + weeks: {
  37 + sun: 'CN',
  38 + mon: 'T2',
  39 + tue: 'T3',
  40 + wed: 'T4',
  41 + thu: 'T5',
  42 + fri: 'T6',
  43 + sat: 'T7'
  44 + },
  45 + months: {
  46 + m1: 'Th.1',
  47 + m2: 'Th.2',
  48 + m3: 'Th.3',
  49 + m4: 'Th.4',
  50 + m5: 'Th.5',
  51 + m6: 'Th.6',
  52 + m7: 'Th.7',
  53 + m8: 'Th.8',
  54 + m9: 'Th.9',
  55 + m10: 'Th.10',
  56 + m11: 'Th.11',
  57 + m12: 'Th.12'
  58 + }
  59 + },
  60 + transfer: {
  61 + titles: {
  62 + source: 'Nguồn',
  63 + target: 'Đích'
  64 + },
  65 + filterPlaceholder: 'Nhập từ khóa',
  66 + notFoundText: 'Không tìm thấy'
  67 + },
  68 + modal: {
  69 + okText: 'Đồng ý',
  70 + cancelText: 'Hủy bỏ'
  71 + },
  72 + poptip: {
  73 + okText: 'Đồng ý',
  74 + cancelText: 'Hủy bỏ'
  75 + },
  76 + page: {
  77 + prev: 'Trang trước',
  78 + next: 'Trang kế',
  79 + total: 'Tổng',
  80 + item: 'kết quả',
  81 + items: 'kết quả',
  82 + prev5: '5 trang trước',
  83 + next5: '5 trang kế',
  84 + page: '/trang',
  85 + goto: 'Tới trang',
  86 + p: ''
  87 + },
  88 + rate: {
  89 + star: 'Sao',
  90 + stars: 'Sao'
  91 + },
  92 + tree: {
  93 + emptyText: 'Không có dữ liệu'
  94 + }
94 } 95 }
95 - }  
96 }; 96 };