2016-04-27 10 views
0

私はタイプ番号の入力フィールドである反応成分を持っています。すべての内部の乱数を押すとうまくいきますが、すべてを消去したいときは、入力フィールドの中に常にゼロがあり、消去できません。すべてを消去するとゼロが消えるように入力フィールドを空白にすることは可能ですか?消去しようとしたときに入力内のゼロを削除します

マイコンポーネント:

const NumberBox = (props) => { 
    const onChanged = (event) => { 
    props.onChange(+event.target.value); 
    }; 

    const styles = { 
    inputGeneral: { 
    border: '0px', 
    width: '100%', 
    padding: '8px 16px', 
    fontSize: '1.6em' } }; 

    return (
    <input 
    style={styles.inputGeneral} 
    type="number" 
    pattern="[0-9]*" 
    value={props.value} 
    onChange={onChanged} 
    />); 
}; 

答えて

2

これが原因HTML5番号入力クロムにおけるタイプ(そしておそらく他のブラウザも)に関連付けられた動作で起こっている...

最も簡単な解決策があるべきtext入力タイプを使用して、手動/フォーマットあなたの入力を検証...

これは罰金トンの作品もこのquestion/answer ...

+0

参照してください。彼は最初に入力フィールドが表示されていますが、数字を入力して消去しようとすると、入力フィールドの値は0に戻されます。値が空の文字列か何かであると思うでしょう。しかし、何もありません。 – user2236165

+1

なぜ空白の文字列が期待されますか?数値入力です。 –

+0

@HenrikAnderssonもし私が入力フィールド内のすべてを消去するなら、私は数字0を期待しません。私は入力フィールドが空であると思います。たぶん空の文字列ではなく、空の文字列ではない。 – user2236165

関連する問題