Как я могу поставить водяной знак на элемент управления DateField в Flex 4?

#actionscript-3 #apache-flex #flash-builder

#actionscript-3 #apache-flex #flash-builder

Вопрос:

Я хотел бы знать, как создать элемент управления DateField с водяным знаком. Я хочу установить текст подсказки / водяного знака из MXML, подобный этому:

 <mx:DateField id="id_date" propmt="Select date" />
  

Ответ №1:

Используйте это

 <mx:DateField id="df" text="Select Date"  focusIn="df.text=''" />
  

или
Обратитесь к этому блогу для пользовательского компонента datefield
WaterMarkDateField

Комментарии:

1. Но когда мы выбираем некоторую дату, а затем фокусируемся на ней, также удаляем выбранную дату.

2. @Tahir Alvi Тогда не используйте focusIn="df.text=''" , если вы можете просто попробовать WaterMarkDateField component.

Ответ №2:

Это довольно просто, используя обработчик завершения создания

 <mx:DateField id="sample" creationComplete="sample_creationCompleteHandler(event)"/>
  

установите образец текста следующим образом

 protected function sample_creationCompleteHandler(event:FlexEvent):void
{
    // TODO Auto-generated method stub
    sample.text = "Select Date";
}
  

Попробуйте это..

Комментарии:

1. Но, Судхарсанан, это недопустимое решение

Ответ №3:

Я поступил следующим образом. Не знаю, правильно это или нет. Но у меня это работает.

 <mx:DateField id="dateIdentify" editable="true" selectedDate="new Date()" formatString="MM-DD-YYYY" color="#505050" focusOut="if(dateIdentify.text == ''){dateIdentify.text='MM-DD-YYYY'}" focusIn="if(dateIdentify.text == '' || dateIdentify.text == 'MM-DD-YYYY'){dateIdentify.text='';}" text="MM-DD-YYYY"/>
  

Надеюсь, это кому-то поможет.