0

Sencha Architectを使用してプロジェクトSencha touch 2 lib を作成します。only-accept-number-filed にマスク形式 (米国の電話番号マスク) を追加する方法

たとえば、ユーザー入力の場合

1234567890

、表示されるはずです

123-456-7890 または (123) 456-7890

only-accept-number のフィルタリングに役立つ数値フィールドを使用しようとすると、数値フィールドの値を 123-0001 に設定すると、マイナス 123 と 1 のように 122 しか表示されません。

助けてください。ありがとうございました。

4

2 に答える 2

2

タッチには、ニーズに合わせて使用​​できる素晴らしい機能があります。setName() の使用法について説明した最初の部分であるClass System descriptionを見てください。

要するに、すべての構成エントリには、すべてのコードベースで使用される対応する apply() および update() 関数があります

あなたのケースでは編集して、新しいクラスを定義する必要があります。

Ext.define('MyApp.ux.field.PhoneText', {
    extend: 'Ext.field.Text',
    xtype: 'phonetextfield',
    applyValue: function(value) {
        var ext = getExt(value),
            partOne = getPartOne(value),
            partTwo = getPartTwo(value);

        return Ext.String.format('(%s) %s-%s', ext, partOne, partTwo)
    }
}

入力値をフォーマットに変換する独自のバージョンの applyValue 関数を使用するだけです。

パネル定義では、'textfield' ではなく xtype: 'phonetextfield' を使用し、requires: ['MyApp.ux.field.PhoneText'] も追加する必要があることに注意してください。

于 2013-08-27T09:05:46.563 に答える
0

スピナーフィールドを使用できます。文字も許可し、マスクしてから、値を設定します。

于 2013-08-27T08:11:07.983 に答える