Кнопка для очистки datefield
Здравствуйте.
Понадобилась мне дополнительная кнопка в datepicker`е для очистки филда. Нашел на гитхабе вот это: https://gist.github.com/xiexiao/00cecaf3c26deaa96812 . Ну и столкнулся с той же проблемой что там в коменте написана: при нажатии на кнопку хендлер не срабатывает, просто закрывается пикер. А кнопка Today работает нормально. В чем может быть проблема? |
Разобрался. Надо было кнопке владельца еще назначить: "ownerCt: dt1.picker".
|
А что за опция ownerCt?
|
|
khusamov
https://docs.sencha.com/extjs/5.1/5....operty-ownerCt Это пропертя, а не опция. Приходится использовать такой вот трюк, иначе не пашет. kolka А ваше расширение красиво выглядит, возьму на заметку. Спасибо! |
Но это свойство только для чтения же!
ownerCt : Ext.Container READONLY http://docs.sencha.com/extjs/6.0/6.0...operty-ownerCt |
@Infarch, @kolka,
Использовать triggers это официально правильное решение. Хотя вот посмотрел в код и сразу заметил баг: обработчик mousedown проверяет фокусированность поля не совсем правильно. :( Сейчас открою тикет... |
khusamov, а вот не совсем! Посмотрите на код этого метода: http://docs.sencha.com/extjs/5.1/5.1...d-beforeRender . Там при создании todayBtn передается ссылка на пикер в эту пропертю. Собственно, так я и нашел как делу помочь, сам бы ни в жизнь не догадался.
|
Вы про этот код?
me.todayBtn = new Ext.button.Button({ ownerCt: me, Так этого конфига в документации нет. Так что официально этим пользоваться по идее нельзя вообще. К тому же если это конфиг, то по идее он должен обновляться через метод setOwnerCt(), если таковой вообще существует. Разработчики extjs в своем коде часто отступают от своих же принципов. К примеру в коде Ext.ux.ajax.* вообще кромешный ад, там даже документация из-за "неправильно написанного" кода неполная. |
А покажите мне разработчика который всегда блюдет принципы... Это как сферический конь в вакууме. Идеал то бишь, к которому можно только стремиться.
|
Часовой пояс GMT +3, время: 07:51. |