2016-12-10 3 views
1

I는 수치 입력으로 각 2 다트에 소재 성분을 사용 트링 하였다 물질적 입력 형식 번호 :인가가 각 2 다트

<material-input type="number"></material-input> 

하지만 정상적인 입력처럼 행동한다. 워드 프로세서에서는 "숫자"유형을 지원합니다. 내가 뭐 잘못하고 있니? 아니면 숫자 유형이 아직 구현되지 않았습니까?

주셔서 감사합니다.

+0

이 정말 짜증 완벽한 크로스 브라우저 솔루션을 찾을를 그들은 이것에 대한 해결책을 가지고 있지 않다 : -/지금까지 작동하는 것을 찾았습니까? – Blackbam

답변

0

나는이 라인 https://github.com/dart-lang/angular2_components/blob/a0eff879a6cb347b8beb95ed758c02c6dd9dfaa0/lib/src/components/material_input/material_input.dart#L61errorMsg을 사용하는 것을 말한다 동안, errorMsg

<material-input type="number" errorMsg="That's not a number"></material-input> 
이 줄 https://github.com/dart-lang/angular2_components/blob/a0eff879a6cb347b8beb95ed758c02c6dd9dfaa0/lib/src/components/material_input/material_input.dart#L232type="tel"type="number" 내부 입력 요소에 대한 text로 설정되어 있는지 나타내는 것으로 보인다

을 설정할 필요가 있다고 생각 때 type="number" 일 때 잘못된 번호가 입력됩니다.

+0

해결책이 작동하지 않습니다. 라이브러리에서 적절한 파일을 복사하고, 편집 된 가져 오기 및 중요한 라인을 시도했습니다. 그런 다음 오류 메시지가 표시되고 글자를 쓸 수 없습니다. 내가 얻지 못한 것은 standart html5 또는 anglejs [여기] (https://material.angularjs.org/latest/demo/input)와 같은 작은 화살표 키입니다. (두 번째 블록, "hourly rate in USD) – user2522115

+0

죄송합니다, 좋은 생각이 없습니다. –

2

숫자 (정수) 입력을 시도하면서 개인적인 실험을 공유 할 수 있습니다. 모든 브라우저에서 완벽하게 작동하지는 않지만 Android 및 iOS에 표시된 적절한 키보드를 갖고 싶습니다. 내가 한 것은 내부적 인 입력 요소에 프로그램 적으로 강제로 타입을 넣는 것이었다. 파이어 폭스에서는 텍스트 입력을 막지는 않지만 메시지를 표시합니다 ("숫자를 입력하십시오"). 그것은 소수를 처리하지 않습니다하지도 않는다 (즉, 그것은 정수를 기대하지)

initInputNumber(MaterialInputComponent inputComponent) { 
    inputComponent.type = "number"; 
    InputElement inputElement = inputComponent.inputEl.nativeElement; 
    inputElement.type = "number"; 

    // http://stackoverflow.com/questions/6178556/phone-numeric-keyboard-for-text-input 
    // As of mid-2015, I believe this is the best solution: 
    // <input type="number" pattern="[0-9]*" inputmode="numeric"> 
    inputElement.attributes["inputmode"] = "numeric"; 
    inputElement.pattern = "[0-9]*"; // this and only this works 0-9 
    } 

그 최선의 해결책인지 나도 몰라하지만 난 열심히