Commit daa9827c92ccdef437c420a47f724bc740b861cc
1 parent
6da6fffa
fixed #1553
Showing
3 changed files
with
114 additions
and
106 deletions
Show diff stats
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 | }; |