在实现的过程中主要考虑,不同类型的数樱简据结构,过滤掉特殊符号,url这些基本需求;同时在实现的过程中每次都要去处理最原始的数据,这就需要考虑到对象的深拷贝问题,目前所采用的方法是通过JSON.parse(JSON.stringify(str))来处理,因为弯颂晌在这个全局搜索的项目中不太会用到函数这些对象。最后通过replace方法来处理这些目标字符串。
wxml:
js:
标签数据在data中定义, 因为还要点击高亮, 所以同时给个状态值
页面循环渲染出来
点击事件bindtap='select',
绑定class: class="{{item.isSelect?'active':'select'}}", 点击的时候改变类名
自定义dataset :data-index="{{index}}"
样式效果
JS部份
到这儿, 高亮的就已经写好了. 怎么取值呢? 下面还有一个保存按钮. 给保存按钮一个点击事件:
1.定义一个空数据
2.遍历上边的data里的selectall数好闭组亩袜郑, 传两个参数, v是所有标签的状态(比如isSelect:false或isSelect:true), i是下迅颂标.
看打印结果
小程序中可以使用 input 组件实现搜索框,可以通过 placeholder-style 属性来设置拦银州搜索框提简蔽示语的颜色,而输入框内输入的文字的颜色可以通过 bindinput 事件监听函数结合 CSS 样式来实现。
以下是一个示例代码:
<view class="search-box"><input placeholder="请输入关键字" placeholder-style="color: #999" bindinput="onInput" /></view>
Page({ data: { inputValue: '' }, onInput(e) { this.setData({ inputValue: e.detail.value }) } })
.search-box input { color: #333}
在上面的代码中,input 组件的文字颜色通过 CSS 来设置为黑色,而搜索框内输入的文字颜色是根据用户输入的内容动态改变的,通过 bindinput 监听输入框的输入事件,在 onInput 事件处理函数中通过 setData 更新 inputValue 变量的值,从而实现动态改变文字颜搏衡色的效果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)