0

我的情况是我想在文本字段中保留/保存输入的数据,并且当我单击文本字段时会制作一个我以前输入的数据的下拉列表,如果我关闭并重新打开应用程序,输入的数据仍然会在下拉列表中。例如,我在文本字段中输入“abc123”,然后按回车键,它将在文本字段的下拉列表中保存“abc123”,如果我退出应用程序并再次输入,“abc123”仍将是在下拉列表中。

var win = Ti.UI.createWindow({
backgroundColor: 'white',
});

var txtfield = Ti.UI.createTextField({
});

var btn = Ti.UI.createButton({
title: 'go'
});

win.add(btn);
win.add(txtfield);
win.open();
4

2 回答 2

1

您需要将值保存到 SQLite 或 Ti.App.Properties。

这是一个工作示例:

var win = Ti.UI.createWindow({
    backgroundColor : 'white',
    layout : 'vertical'
});

var txtfield = Ti.UI.createTextField({
    width : Ti.UI.FILL,
    height : Ti.UI.SIZE,
    hintText : 'Enter new values...',
    top : 0
});

var picker = Ti.UI.createPicker({
    top : 10
});

var data = (Ti.App.Properties.hasProperty('itemList')) ? Ti.App.Properties.getList('itemList') : [];
Ti.API.info('data is ' + data);
var m = [];
if (data)
data.forEach(function(item) {

    m.push(Ti.UI.createPickerRow({title:item}));

});
Ti.API.info('M is ' + m);
if (m.length > 0)
picker.add(m);

var btn = Ti.UI.createButton({
top : 10,
width : Ti.UI.SIZE,
height : Ti.UI.SIZE,
title : 'go'
});

btn.addEventListener('click', function(e) {
var s = [];
if (Ti.App.Properties.hasProperty('itemList')) {
    Ti.API.info('Property found');
    s = Ti.App.Properties.getList('itemList');
}
Ti.API.info('S is ' + s);
s.push(txtfield.value);
Ti.App.Properties.setList('itemList', s);
picker.add(Ti.UI.createPickerRow({title:txtfield.value}));
txtfield.value = '';
});

win.add(btn);
win.add(txtfield);
win.add(picker);
win.open();
于 2013-05-08T02:47:43.403 回答
0

绝对推荐使用 sessionStorage 或 localStorage

于 2013-05-08T01:52:46.777 回答