在下拉搜索中,输入搜索词后,在选择了某个项后,不希望已经输入的筛选词消失。既然需要保持搜索词不消失,那么先看看api,没有直接设置不清除搜索词的,但是有个设置搜索词的方法setquery,那么就从这里下手。我们准备在清空后人工设置回去,那么我们需要知道清空前的搜索词。看api,onquerychange合适。同时也发现有onselect的方法,后面应该会用到。那么我们设置这两个方法,并进行日志输出。操作一下流程。
发现输入一个词后会触发onquerychange,再选择一个选项,触发onselect和onquerychange。至此,目前得到的信息可以实行我们的思路。在onchange的中,判断非选择了项后则记录搜索词,是选择了项后则将以前记录的搜索词设置回去并清除标记。在onselect中标记当前选择了项。
发现实际和理论出现差异,设置搜索词也会触发change,貌似change是在更新值前,那么我们只能尝试延迟赋值。
这样就合适了。
代码详情:https://wenku.baidu.com/view/c842e65a64ce0508763231126edb6f1afe007179