ReactJSを使用してマスクされた入力コンポーネントを作成しようとしています。 Mask card number input in Reactの後にエラーが表示されます:オブジェクトはプロパティまたはメソッド 'マスク'をサポートしていません。ReactJS:マスク入力
投稿が少し古いかもしれないので、私はいくつかの変更を加えなければならなかったので、私が気付いていない変更が必要な他のものがあるかもしれません。
これは私のコンポーネントです:
import React, { Component } from 'react';
import ReactDOM from 'react-dom'
import $ from 'jquery';
export default class MaskedInput extends Component {
constructor(props) {
super(props);
}
componentDidMount() {
let $input_elem = $(ReactDOM.findDOMNode(this.maskedInput))[0];
console.log($input_elem);
// // now you have a jquery object
$input_elem.mask("0000 0000 0000 0000");
}
render() {
return <input ref={(input)=> {this.maskedInput = input; }} id="cardInput" onChange={this.props.handleChange} type="number" value="" />
}
}
だから、私は私がだから私は、この行に変更
npm install --save jquery-mask-plugin
でインストールjqueryのマスク・プラグイン、行方不明になったと思います。
をimport $ from 'jquery-mask-plugin';
これでエラーが表示されます:
let $input_elem = $(ReactDOM.findDOMNode(this.maskedInput))[0];
エラー:機能が
を期待し、私は最後に、インデックスを削除しようとしたが、それは助けにはなりませんでした。
ここで 'componentDidMount'に問題があるようです:' $ input_elem.input mask( "0000 0000 0000 0000"); '入力とマスクの間にスペースがあります。 –
ありがとうマイクドライバ。最初の投稿にはタイプミスがありました。私はただそれを修正した。私はまだ私が言及した同じエラーを取得します – roca323
'[0]' –