如何在DatePicker上设置TextField上的数据

时间:2016-07-05 06:48:02

标签: javascript android appcelerator

我正在appcelerator工作室中构建自定义模式。

所以这就是代码:

Test-Path 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\100\Tools\'
 Test-Path 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\100\Bootstrap Release\1033\CurrentVersion'

所以我希望如果用户点击textStartdate,则会显示DatePicker。这是我的控制器的代码:

<Alloy>
    <Window id="modal_add_edit" onClose="cleanup" modal="true">
        <View class="container">
            <Label id="title" class="title"/>
            <View class="separator"></View>

            <TableView id="table" height="Titanium.UI.SIZE" layout="vertical">                          
                    <TableViewRow class="menu_item" top="25">
                        <Label id="description" class="label" left="12" />
                        <Picker id="comboDecription" left="20" selectionIndicator="true">
                            <PickerColumn id="column1">
                                <PickerRow title="Esposizione Tossica"/>
                                <PickerRow title="Stato civile"/>
                                <PickerRow title="Diet"/>
                            </PickerColumn>
                        </Picker>
                    </TableViewRow>

                    <!-- flags -->
                    <TableViewRow id="data" class="menu_item" top="25">
                        <!--DATA START-->
                        <Label id="start_date" class="label" left="12" />
                        <TextField id="textStartDate" class="field"
                             width="200px"></TextField>
                    </TableViewRow>



            </TableView>

            <View class="separator"></View>
            <TableView id="tableButton" width="Titanium.UI.FILL" layout="horizontal">                           
                    <TableViewRow class="menu_item" top="25">
                        <Button id="buttonClose" class="buttonClose" onClick="onClose" ></Button>
                        <Button id="buttonSave" class="buttonSave"></Button>
                    </TableViewRow> 
            </TableView>
        </View>
    </Window>
</Alloy>

然后,如果我尝试单击textStartDate,我可以看到DatePicker,然后我设置数据,单击OK按钮但我无法在textStartDate上显示数据。

如果我可以尝试调试,代码:

var picker = Ti.UI.createPicker({});
$.textStartDate.addEventListener('click', function(e) { 
    picker.showDatePickerDialog({
        value : new Date(), // some date
        callback : function(e) {
            if (e.cancel) {
                Ti.API.info('user canceled dialog');
            } else {
                selectedDate = e.value;
                $.textStartDate.setValue(String.formatDate(selectedDate, 'medium'));
            }
        }
    });
});

返回正确的数据,但我无法在我的edittext上看到它

修改 我添加了屏幕截图

enter image description here

这是app.tss

中的字段类
String.formatDate(selectedDate, 'medium')

1 个答案:

答案 0 :(得分:1)

正如你所说,String.formatDate(selectedDate, 'medium')正在返回正确的数据,但你看不到日期,所以我猜可能是你的文本字段颜色属性有问题。

确保您已将color属性设置为与text-field backgroundColor不同的颜色,或者如果您尚未设置任何此类属性,那么我仍建议您设置 color backgroundColor 属性和一些默认值,以确保您的文本值在文本字段中正确显示。

有时取决于主题或操作系统类型,默认文字颜色&amp; backgroundColor组合可以相同,使文本值不可见。