[TOC]
![](https://box.kancloud.cn/a0a9b4b8eeb9779cb2219547159cd7c2_750x1334.jpg)
> 图上页面应在 组件 attached里发送请求
## wxml
```
<view class="search">
<input bind:confirm="onConfirm" type="text" placeholder="搜索图书名称" value="{{value}}" bindinput="onInput" />
<icon type="search" size="20" color="#999" class="icon" />
<icon type="clear" size="20" color="#999" class="icon1" bind:tap="onClear" wx:if="{{isClear}}" />
<button bind:tap="onBack">取消</button>
</view>
```
### 1.bindinput 设置 取消按钮的隐藏问题
> 当输入框里的值不为空时 清除按钮出现 `判定为输入框的值是否为空`
> 同时因为清除按钮有 onClear事件, 因此触发此事件时 也应设置 清除按钮消失即为false
```
onInput(event) {
const value = event.detail.value;
console.log(value)
if (value) {
this.setData({
isClear: true
})
} else {
this.setData({
isClear: false
})
}
},
onClear() {
this.setData({
value: "",
isResult: false,
isSearch: false,
isClear:false,
books: []
})
```
## onComfirm事件 设置 点击input搜索 的问题
> 搜索因注意 搜索值`是否为空`,搜索`数据是否存在`
```
onConfirm(event) {
wx.showLoading({
title: '数据加载中',
})
let value = event.detail.value;
//获取搜索到的结果
bookModel.getBookSearch(0, value).then(res => {
//如果搜索内容存在
if (res.total) {
//将搜索到的值加入到历史搜索
keyword.addHistory(value);
//获取历史搜索字段
let words = keyword.getHistory();
this.setData({
words,
books: res.books,
//判断`历史搜索和热门搜索` 与 搜索结果 的影现
isSearch: true,
value: value,
// 不显示空搜索结果
isResult: false,
//获取 搜索内容 总长度 >为下拉做准备
total: res.total
})
}
//如果不存在弹出模态框
else {
wx.showToast({
title: '抱歉为空',
icon: 'none'
})
this.setData({
isSearch: true,
isResult: true,
value
})
}
})
wx.hideLoading()
},
```
- 开发环境及接口
- 0.豆瓣接口
- 1.开发环境配置
- 2.一些相关文档
- 小程序实例效果
- 第0节、TodoList
- 第一节、豆瓣相关
- 1、tabBar的配置及导航加标题
- 2、数据加载及下拉加载
- 3、加载相关
- 4、轮播
- 5、星星评分
- 第二节、音乐播放相关
- 1.点击收藏分享
- 2.音乐播放
- 初始版
- 组件版
- 组件加强版
- 3.点赞
- 点赞初级版
- 点赞第二版
- 5.左右按钮
- 6.缓存
- 第三节、补充
- 地图
- 点击拍照换图
- 扫一扫
- 小程序语法
- 第一节 、HTTP的封装
- 0.http请求
- 1.function封装
- 2.class封装http
- 3.promise封装
- 4.config地址
- 第二节、组件
- 2.组件单独设置样式
- 3.一些有意义的标签
- 4.behavior
- 5.SLOT
- 6.左右按钮
- 5.点赞组件
- 6.用户授权
- 图片按钮 如分享
- 第三节、api
- 1.页面跳转
- 获取input里的值
- 1.添加评论
- 2.搜索框
- 3. 获取input里的值
- 2.设置缓存
- 3.模态框,弹出框
- 4.分享showActionSheet
- 5.定义全局的数据
- 2. 基础知识
- 1.setData
- 2.文件结构
- 3.wxml语法
- 第一节 数据绑定
- 第二节 列表渲染
- 第三节 条件渲染
- 第四节 模板
- 第五节 事件
- 第六节 引用
- 4.wxs
- 1.文本缩进问题
- 5.小程序中遇到的wxss 问题
- 1.width100%越界问题
- 废弃的文件
- 一个完整的小程序
- 1.启动页面
- 2.yuedu轮播+封装及数据调用
- yuedu的详情页
- 3.电影
- movie-more
- web-view