如何在 Appcelerator 中动态设置日期选择器的日期?

How to set date of a datepicker in Appcelerator dynamically?

我想知道如何使用 Appcelerator 为 ipad/iphone 设置日期选择器的选定日期?

我有一个 views/dates.xml:

<Window onOpen="setDates">
<Picker id="picker" type="Ti.UI.PICKER_TYPE_DATE"></Picker>
</Window>

在我的 controllers/dates.js:

function setDates(){
 //Here I want to retrieve my existing picker and set the selected date to something else. 
 //For example: 
 $.picker.setDate(new Date("2017-03-03"));
} 

不幸的是,上面的 setDate 函数不起作用。我仍然可以加载视图并显示日期选择器,但它仍会显示今天的默认日期。

您可以在 Alloy XML 文件或 JS 控制器文件中设置日期,如下所示:

XML

<Alloy>
    <Window backgroundColor="blue">
        <Picker id="picker"
          onChange="report"
          type="Ti.UI.PICKER_TYPE_DATE"
          minDate="2014,4,1"
          maxDate="May 1, 2014 12:00:00"
          value="2017-03-03T12:00:00">
        </Picker>
    </Window>
</Alloy>

.JS文件

$.picker.value = new Date(2017, 3, 3);

// or

$.picker.value = new Date("2017-03-03");

注意: 在日期类型选择器中设置默认日期的不同之处在于,在 .JS 文件中,您必须使用JavaScript Date object, while in XML you have to use Moment Parseable 日期对象。