Skip to content

Commit 9384794

Browse files
committed
chore(release): Merge branch 'dev' into master
2 parents 72f63b8 + c5169f5 commit 9384794

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

demos/components/select/index.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ <h3>多选(可搜索)</h3>
108108
datalist="ctrl.datalist1"
109109
searchable="true"
110110
confirm-button="true"
111+
search-fields="ctrl.searchFields"
111112
on-select-change="ctrl.multiSelectChange(model, oldModel, selection, oldSelection)"
112113
mapping="ctrl.fieldsMap">
113114
</cc-dropdown-multiselect>
@@ -245,6 +246,8 @@ <h4>当前值: {{ctrl.selectedOneShop}}</h4>
245246
}
246247
})
247248
.controller('DemoCtrl', function($scope) {
249+
250+
this.searchFields = undefined; // ['displayField', 'valueField'] //;
248251
this.value1 = '上海';
249252
this.value2 = 'xa';
250253
this.value3 = [];

src/components/dropdown/dropdown-multiselect/DropdownMultiselectCtrl.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@ export default class DropdownMultiselectCtrl {
4848
_prepareOptions() {
4949
this.mapping = Object.assign({}, DropdownMultiselectCtrl.defaultMapping, this.mapping);
5050

51+
if (typeof this.searchFields === 'undefined') {
52+
this.searchFields = [this.mapping.valueField, this.mapping.displayField];
53+
} else {
54+
this.searchFields = this.searchFields.map(field => this.mapping[field]);
55+
}
56+
5157
if (typeof this.searchable === 'undefined') {
5258
this.searchable = false;
5359
}
@@ -387,11 +393,9 @@ export default class DropdownMultiselectCtrl {
387393

388394
_search(text) {
389395
let datalist = this._clampedDatalist;
390-
let mapping = this.mapping;
391-
let searchFields = [mapping.valueField, mapping.displayField];
392396
let filteredItems = [];
393397

394-
searchFields.forEach(field => {
398+
this.searchFields.forEach(field => {
395399
datalist.forEach(item => {
396400
const fieldValue = item[field];
397401
if (fieldValue.toString().toLocaleUpperCase().indexOf(text && text.toLocaleUpperCase()) !== -1 &&

src/components/dropdown/dropdown-multiselect/dropdown-multiselect.tpl.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
ng-blur="$ctrl.setActiveState(false)"
1212
ng-change="$ctrl.onSearchTextChange($ctrl.title)"
1313
ng-disabled="$ctrl.disabled"
14-
ng-model="$ctrl.title">
14+
ng-model="$ctrl.title"
15+
title="{{ $ctrl.title }}">
1516
<div class="dropdown-select-icons"
1617
><span class="dropdown-select-clear"
1718
ng-class="{visible: $ctrl.title.length}"

src/components/dropdown/dropdown-multiselect/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ const dropdownMultiselectDDO = {
2323
searchable: '<?',
2424
confirmButton: '<?',
2525
placeholder: '@?',
26+
searchFields: '=?',
2627
onSelectChange: '&?',
2728
onDropdownOpen: '&?',
2829
onDropdownClose: '&?'

0 commit comments

Comments
 (0)