我有一个基本的SearchBar附加到基本的TableView。它工作正常,但我不希望任何表格行显示,直到用户开始在搜索栏中输入,因此它总是被过滤,并且永远不会在表格中显示所有匹配的行。
var searchbar = Ti.UI.createSearchBar();
var tv = Ti.UI.createTableView({
data: myData,
search: searchbar,
hideSearchOnSelection: false,
filterAttribute: 'title',
});
怎么做?
答案 0 :(得分:1)
您可以尝试在页面加载时将tableView数据设置为空,然后在用户开始在搜索栏中键入时设置数据,例如:
var searchbar = Ti.UI.createSearchBar();
searchbar.addEventListener('change', function(e){
Ti.API.info("calling change event");
var tableData = [ {title: 'Apples'}, {title: 'Bananas'}, {title: 'Carrots'}, {title: 'Potatoes'} ];
tv.data = tableData;
//Remove this event listener so the data is only set once
e.source.removeEventListener(e.type, arguments.callee);
});
var tv = Ti.UI.createTableView({
data: [{}],
search: searchbar,
hideSearchOnSelection: false,
filterAttribute: 'title',
height:Ti.UI.SIZE
});
var win = Ti.UI.createWindow()
win.add(tv);
win.open();