2016-04-27 58 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