cordova 日期字段未正确显示

jjjwad0x  于 2022-11-15  发布在  其他
关注(0)|答案(5)|浏览(139)

我有一个输入字段的类型是日期和占位符是“输入您的日期”。但发生的是占位符没有显示在移动的应用程序。(我们正在使用html,css,bootstrap和react.js构建移动的应用程序,并通过cordova进行移植”)。所以我按照这个链接,让标 checkout 现,当点击date pop时应该会出现。但这似乎不起作用,当检查铬元素时,焦点和模糊似乎消失了。有什么办法让它在React中工作吗?

<ElementsBasket name='nextActionDate' 
                      data={this.props.newLead.get('actions').get('nextActionDate')}>
    <div className="form-group">

       <input type="text" className="form-control" onfocus="(this.type='date')" onblur="(this.type='date')"
                       placeholder="Type your date here.." 
                       value={this.props.newLead.get('actions').get('nextActionDate')}
                       onChange={onFieldChanged.bind(this, 'actions.nextActionDate')}
                       />       
     </div>
</ElementsBasket>

ps:我正在关注此链接Not showing placeholder for input type="date" field

6jygbczu

6jygbczu1#

在React中,您的事件应命名为onFocusonBlur(注解大写)
https://facebook.github.io/react/docs/events.html
编辑:
另一个问题是,您将处理程序设置为字符串-onFocus="(this.type='date')",而它们应该是一个函数。

<input type="text" onFocus = {this._onFocus} onBlur={this._onBlur}

现在this引用包含渲染函数的对象,因此需要在该对象中实现适当的函数。

_onFocus: function(e){
    e.currentTarget.type = "date";
},
_onBlur: function(e){
    e.currentTarget.type = "text";
    e.currentTarget.placeholder = "Enter a Date";
},
xqkwcwgp

xqkwcwgp2#

这样比较简单,

<input
   type="text"
   onFocus={
    (e)=> {
      e.currentTarget.type = "date";
      e.currentTarget.focus();
     }
   }
   placeholder="dd/mm/yyyy"
/>
pengsaosao

pengsaosao3#

基本上,date*类型会显示默认占位符,即mm/dd/yyyy,这就是为什么我们的**占位符属性 * 不会显示为text类型。
所以我们可以使用事件处理程序onFocusonBlur来使它工作。我们可以将这些处理程序添加到 arrow function 结构中,如下所示-

<input
  type="text"
  onFocus={(e) => (e.currentTarget.type = "date")}
  onBlur={(e) => (e.currentTarget.type = "text")}
  placeholder="No date found"
/>

output will be like this
第一个
希望对你有帮助,谢谢

w80xi6nr

w80xi6nr4#

显然,当输入类型为Date时,您不能引入保持器,解决此问题的一种方法是动态更改输入类型on-focus,但这不是一个好的做法,我的建议是不要使用默认的日期选择器,而是可以使用唐斯
你也可以参考这个问题。希望这对你有帮助:)

e5nszbig

e5nszbig5#

<input
  type="text"
  className="form-control"
  onFocus={(e) => (e.currentTarget.type = "date")}
  onBlur={(e) => (e.currentTarget.type = "text")}
  placeholder="plz select your date"
/>

相关问题