Toggle navigation
Toggle navigation
This project
Loading...
Sign in
developOne
/
harmonyPool
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
yangchenggong1_wd
2024-04-29 11:22:06 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
506d02c79d31a58e3ee55a26d61ffcf2b267e810
506d02c7
1 parent
4de3f810
desc:修复搜索相关bug
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
96 additions
and
42 deletions
sight_harmony/features/wdComponent/src/main/ets/components/mine/home/HomePageBottomComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/search/FirstTabTopSearchComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/search/SearchComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/search/SearchHistoryComponent.ets
sight_harmony/features/wdComponent/src/main/ets/components/mine/home/HomePageBottomComponent.ets
View file @
506d02c
...
...
@@ -146,7 +146,7 @@ export struct HomePageBottomComponent{
LazyForEach(this.data_follow, (item: FollowListDetailItem, index: number = 0) => {
ListItem() {
FollowChildComponent({data: item,type:
1
})
FollowChildComponent({data: item,type:
2
})
}
.onClick(() => {
})
...
...
sight_harmony/features/wdComponent/src/main/ets/components/search/FirstTabTopSearchComponent.ets
View file @
506d02c
...
...
@@ -29,11 +29,19 @@ export struct FirstTabTopSearchComponent {
if (value != null) {
this.searchTextData = value
}
this.setDefaultHitData()
}).catch((err: Error) => {
console.log(TAG, JSON.stringify(err))
this.setDefaultHitData()
})
}
setDefaultHitData(){
if(this.searchTextData.length === 0){
this.searchTextData.push("搜索")
}
}
build() {
Row() {
Image($r('app.media.icon_search'))
...
...
sight_harmony/features/wdComponent/src/main/ets/components/search/SearchComponent.ets
View file @
506d02c
...
...
@@ -13,14 +13,18 @@ const TAG = "SearchComponent"
@Component
export struct SearchComponent {
@State searchTextData: string[] = []
@State hasNoSearchTextData: boolean = false
@State curHintSearchData: string = ""
@State hasInputContent: boolean = false
@State hasChooseSearch: boolean = false
@State isClickedHistory: boolean = false
@State isClickedHot: boolean = false
@State isClickedRelated: boolean = false
@State isClickedHistorySearch: boolean = false
@State isClickedHotSearch: boolean = false
@State isClickedRelatedSearch: boolean = false
@State isClickedInputSearch: boolean = false
@State isClickedHintSearch: boolean = false
private swiperController: SwiperController = new SwiperController()
@State searchText: string = ''
controller:
TextInputController = new TextInput
Controller()
controller:
SearchController = new Search
Controller()
@State searchHistoryData: SearchHistoryItem[] = []
@State relatedSearchContentsData: SearchRelatedItem[] = []
scroller: Scroller = new Scroller()
...
...
@@ -75,10 +79,18 @@ export struct SearchComponent {
if (value != null) {
this.searchTextData = value
}
this.setDefaultHitData()
}).catch((err: Error) => {
console.log(TAG, JSON.stringify(err))
this.setDefaultHitData()
})
}
setDefaultHitData(){
if(this.searchTextData.length === 0){
this.hasNoSearchTextData = true
this.searchTextData.push("搜索感兴趣的内容")
}
}
getSearchHistoryData() {
this.searchHistoryData = SearcherAboutDataModel.getSearchHistoryData()
...
...
@@ -131,7 +143,7 @@ export struct SearchComponent {
getSearchHistoryResData(content:string,index:number){
//删除单条记录
SearcherAboutDataModel.delSearchSingleHistoryData(index)
this.isClickedHistory = true
this.isClickedHistory
Search
= true
this.searchResData(content)
}
...
...
@@ -148,6 +160,16 @@ export struct SearchComponent {
//查询 操作 TODO
this.hasChooseSearch = true
this.getSearchResultCountData()
this.controller.stopEditing()
}
/**
* 点击hint搜索列表回调
* @param content
*/
getSearchHintResData(content:string){
this.isClickedHintSearch = true
this.searchResData(content)
}
/**
...
...
@@ -155,7 +177,7 @@ export struct SearchComponent {
* @param content
*/
getSearchRelatedResData(content:string){
this.isClickedRelated = true
this.isClickedRelated
Search
= true
this.searchResData(content)
}
...
...
@@ -164,10 +186,18 @@ export struct SearchComponent {
* @param content
*/
getSearchHotResData(content:string){
this.isClickedHot = true
this.isClickedHot
Search
= true
this.searchResData(content)
}
/**
* 点击输入法搜索搜索列表回调
* @param content
*/
getSearchInputResData(content:string){
this.isClickedInputSearch = true
this.searchResData(content)
}
//搜索框
@Builder searchInputComponent() {
...
...
@@ -185,7 +215,7 @@ export struct SearchComponent {
.textAlign(TextAlign.Start)
.maxLines(1)
.textOverflow({ overflow: TextOverflow.Clip })
.margin({ left: '
4
0lpx' })
.margin({ left: '
7
0lpx' })
})
}
.loop(true)
...
...
@@ -195,42 +225,57 @@ export struct SearchComponent {
.vertical(true)
.enabled(false)
.focusable(false)
.onChange((index: number) => {
this.curHintSearchData = this.searchTextData[index]
})
}
Row(){
TextInput({ text: this.searchText, placeholder: '', controller: this.controller })
.caretColor(Color.Pink)
.fontSize('27lpx')
Search({ value: this.searchText, placeholder: '', controller: this.controller})
.layoutWeight(1)
.fontColor(Color.Black)
.height('69lpx')
.backgroundColor($r('app.color.color_transparent'))
.textFont({ size: "27lpx", weight: "400lpx" })
.defaultFocus(true)
.caretStyle({color:Color.Pink})
.onSubmit((value: string) => {
if(StringUtils.isNotEmpty(this.searchText)){
SearcherAboutDataModel.putSearchHistoryData(this.searchText)
this.getSearchHistoryData()
this.getSearchInputResData(this.searchText)
}else{
if(!this.hasNoSearchTextData){
if(StringUtils.isEmpty(this.curHintSearchData)){
this.curHintSearchData = this.searchTextData[0]
}
this.getSearchHintResData(this.curHintSearchData)
}else{
ToastUtils.shortToast("请输入搜索关键词")
}
}
})
.onChange((value: string) => {
this.searchText = value
if(this.isClickedHistorySearch || this.isClickedHotSearch || this.isClickedRelatedSearch || this.isClickedInputSearch|| this.isClickedHintSearch){
this.hasChooseSearch = true
}else{
this.hasChooseSearch = false
}
if (this.searchText.length > 0) {
this.hasInputContent = true
} else {
this.hasInputContent = false
}
if(this.isClickedHistory || this.isClickedHot || this.isClickedRelated){
this.isClickedHistory = false
this.isClickedHot = false
this.isClickedRelated = false
if(this.isClickedHistorySearch || this.isClickedHotSearch || this.isClickedRelatedSearch || this.isClickedInputSearch|| this.isClickedHintSearch){
this.resetSearch()
}else{
if(this.hasInputContent){
this.getRelatedSearchContent()
}
})
.backgroundColor($r('app.color.color_transparent'))
.defaultFocus(true)
if(this.hasInputContent){
Image($r('app.media.search_input_del_icon'))
.width('31lpx')
.height('31lpx')
.objectFit(ImageFit.Cover)
.interpolation(ImageInterpolation.High)
.onClick(()=>{
this.searchText = ""
this.hasInputContent = false
this.hasChooseSearch = false
})
}
})
}.padding({right:'30lpx'})
.layoutWeight(1)
}
...
...
@@ -241,7 +286,7 @@ export struct SearchComponent {
//TODO 需要修改输入法 换行
//右
Text(
this.hasInputContent?"搜索":
"取消")
Text("取消")
.textAlign(TextAlign.Center)
.fontWeight('400lpx')
.fontSize('31lpx')
...
...
@@ -250,16 +295,7 @@ export struct SearchComponent {
.width('125lpx')
.height('58lpx')
.onClick(() => {
if(this.hasInputContent){
if(StringUtils.isNotEmpty(this.searchText)){
SearcherAboutDataModel.putSearchHistoryData(this.searchText)
this.getSearchHistoryData()
this.getSearchHotResData(this.searchText)
}
}else{
router.back()
}
})
}
.height('85lpx')
...
...
@@ -289,9 +325,19 @@ export struct SearchComponent {
}
}
this.isGetRequest = true
this.resetSearch()
}).catch((err: Error) => {
console.log(TAG, JSON.stringify(err))
this.isGetRequest = true
this.resetSearch()
})
}
resetSearch(){
this.isClickedHistorySearch = false
this.isClickedHotSearch = false
this.isClickedRelatedSearch = false
this.isClickedInputSearch = false
this.isClickedHintSearch = false
}
}
\ No newline at end of file
...
...
sight_harmony/features/wdComponent/src/main/ets/components/search/SearchHistoryComponent.ets
View file @
506d02c
...
...
@@ -135,6 +135,6 @@ export struct SearchHistoryComponent{
}
getCategoryViewHeight() {
return `${
46
* this.getCategoryRowCount()}lpx`;
return `${
50
* this.getCategoryRowCount()}lpx`;
}
}
\ No newline at end of file
...
...
Please
register
or
login
to post a comment