1

selectfieldデスクトップで完全に動作する (スクロール、選択、適切なイベントの発生、適切なフィールドの更新など) がありますが、モバイル (iPhone) で実行すると選択後に消えません。

選択を行っても、選択フィールドの「ホイール」は消えず、マスク (スクロール ピッカー領域の外側) をタップしても消えません。繰り返しますが、これはモバイルでのみ発生し、デスクトップでは問題ありません。

フレームワークのバグのように聞こえますか? もっと手がかりを読んでください...

{
    xtype: 'selectfield',
    id: 'editor-page',
    name: 'page',
    label: 'Page',
    labelWidth: 70,
    options: [
        {text: 'N/A',  value: 'N/A'},
        {text: '1',  value: '1'},
        {text: '2',  value: '2'},
        {text: '3',  value: '3'}
        // ...
    ]
}

私が試したこと(運なし)

  • Web 上の同様の問題について私が見たものから、設定をいじってみましたshowAnimation: 'false'

  • 強制hideOnMaskTap: 'true'(デフォルトであるはずですが)

  • 設定modal: 'true'

  • 設定stopMaskTapEvent: 'false'(ピッカーの外側でタップできるようにするため)

    (そして...フレームワークの癖や私の側の相互依存性の誤解の場合に備えて、上記のすべての組み合わせ。)


モバイル (iPhone) ではなくデスクトップで発生する Selectfield イベント?

ではselectfield、選択の変更をトラップしてhideorを強制する手段として、次のイベントにリスナーを配置しましたblurが、結局のところ、それらはデスクトップ (Chrome) でのみ起動し、モバイル Safari では起動しません。

listeners: {
    'render': function (thisComponent) {
        alert("select!");                           
        thisComponent.blur();
    },
    'action': function (thisComponent) {
        alert("action!");
        thisComponent.blur();
    },
    'select': function (thisComponent) {
        alert("select!");
        thisComponent.blur();
    }
}            

最後に、認めたくありませんが、はい、Sencha Touch 1.1.0 を使用しています。

*あえぎ!ああ、ホラー! *

この時点で、プロジェクトは 2.x への移行のすべての影響を検討するのに十分な時間がない可能性があります。したがって、これを絶対に修正する必要がある場合は、移行に飛び込む前の最後の努力です。

4

1 に答える 1