@@ -26,22 +26,9 @@ export default class Search extends SuperComponent {
2626 observers = {
2727 resultList ( val ) {
2828 const { isSelected } = this . data ;
29- if ( val . length ) {
30- if ( isSelected ) {
31- // 已选择
32- this . setData ( {
33- isShowResultList : false ,
34- isSelected : false ,
35- } ) ;
36- } else {
37- this . setData ( {
38- isShowResultList : true ,
39- } ) ;
40- }
41- } else {
42- this . setData ( {
43- isShowResultList : false ,
44- } ) ;
29+ // resultList 变化且已选过某项时,重置 isSelected 状态
30+ if ( val . length && isSelected ) {
31+ this . setData ( { isSelected : false } ) ;
4532 }
4633 } ,
4734 'clearTrigger, clearable, disabled, readonly' ( ) {
@@ -52,8 +39,8 @@ export default class Search extends SuperComponent {
5239 data = {
5340 classPrefix : name ,
5441 prefix,
55- isShowResultList : false ,
5642 isSelected : false ,
43+ isSearching : false , // 是否开启搜索模式
5744 showClearIcon : true ,
5845 } ;
5946
@@ -84,6 +71,7 @@ export default class Search extends SuperComponent {
8471
8572 onFocus ( e ) {
8673 const { value } = e . detail ;
74+ this . setData ( { isSearching : true } ) ;
8775 this . updateClearIconVisible ( true ) ;
8876 this . triggerEvent ( 'focus' , { value } ) ;
8977 }
@@ -95,7 +83,7 @@ export default class Search extends SuperComponent {
9583 }
9684
9785 handleClear ( ) {
98- this . setData ( { value : '' } ) ;
86+ this . setData ( { value : '' , isSearching : false } ) ;
9987 this . triggerEvent ( 'clear' , { value : '' } ) ;
10088 this . triggerEvent ( 'change' , { value : '' , trigger : 'clear' } ) ;
10189 }
@@ -106,6 +94,7 @@ export default class Search extends SuperComponent {
10694 }
10795
10896 onActionClick ( ) {
97+ this . setData ( { isSearching : false } ) ;
10998 this . triggerEvent ( 'action-click' ) ;
11099 }
111100
0 commit comments