【问题标题】:Force capitalized first letter in search bar in ionic在离子的搜索栏中强制大写第一个字母
【发布时间】:2020-04-28 13:03:03
【问题描述】:

我的 ionic4 项目中有一个 ion-searchbar,它默认首字母大写(iOS 键盘上的 shift-arrow 是实心的)。这是预期的,但是当我提交表单并以编程方式清除值并设置焦点时:

this.searchbar.value = '';
this.searchbar.setFocus();

shift键不再是实心的,第一个字母不是自动大写。 如何强制第一个字母自动大写?

我尝试在 ion-searchbar 元素上使用autocapitalize='sentences'(和其他值),但这没有效果。 我还尝试使用 javascript 自动将第一个字母大写,但这是一个非常笨拙和滞后的解决方案。我也尝试将它包装在一个表单元素中并在表单上使用 .reset() ,但这也没有解决它。

【问题讨论】:

    标签: ios ionic-framework ionic4


    【解决方案1】:

    我刚刚在 Android 上尝试使用 autocapitalize="sentences",即使在清除值并以编程方式设置焦点后它也能正常工作。

    <ion-searchbar autocapitalize="sentences" #searchbar></ion-searchbar>
    
    @ViewChild('searchbar', { static: false }) searchbar: any;
    
    cancel() {
      this.searchbar.value = '';
      this.searchbar.setFocus()
    }
    

    也许问题只出在 iOS 上。

    在 github 上有一个关于这个问题的 opened issue。我建议您对该问题添加评论(如果不是打开它的人)。

    【讨论】:

    • 感谢您在 Android 上试用。你也可以在iOS模拟器上试试吗?我是那个问题的创造者,因为他们的 github 上没有任何回应,所以我在这里试试运气。
    • 很遗憾,我目前没有 iOS 设备。我只能确认它在 Android 上的工作。对不起
    【解决方案2】:

    尝试使用autocapitalize='true'。它适用于离子文本区域。希望这会有所帮助

    【讨论】:

    • 我知道,但这是我使用的 ion-searchbar 上的一个问题
    猜你喜欢
    • 1970-01-01
    • 2018-07-08
    • 2013-09-01
    • 1970-01-01
    • 2013-08-13
    • 2012-06-23
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多