reactjs - 如何屏蔽我的 Material-UI 文本字段?

标签 reactjs material-ui input-mask

我有一个简短形式的电话号码文本字段。然后我想屏蔽这个表单字段,例如 (0)xxx xxx xx xx。

我正在尝试使用 react-input-mask插件 Material-UI 。但如果我想更改输入值,这不会更新我的主文本字段。

        <TextField
          ref="phone"
          name="phone"
          type="text"
          value={this.state.phone}
          onChange={this.onChange}
        >
          <InputMask value={this.state.phone} onChange={this.onChange} mask="(0)999 999 99 99" maskChar=" " />            
        </TextField>

实际上,我找不到任何使用 Material-UI 进行 mask 的文档。我正在尝试弄清楚如何与其他插件一起使用。

最佳答案

更新

版本:material-ui 0.20.2、react-input-mask 2.0.4

API 似乎发生了一些变化:

<InputMask
  mask="(0)999 999 99 99"
  value={this.state.phone}
  disabled={false}
  maskChar=" "
>
  {() => <TextField />}
</InputMask>

演示

Edit throbbing-bird-9qgw9

原始

这应该可以解决问题:

<TextField
  ref="phone"
  name="phone"
  type="text"
  value={this.state.phone}
  onChange={this.onChange}
>
  <InputMask mask="(0)999 999 99 99" maskChar=" " />
</TextField>

演示:

Edit yl8p9jvq9

关于reactjs - 如何屏蔽我的 Material-UI 文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45758998/

相关文章:

javascript - 如何将代码从 `React.createClass` 更改为 `class NoteNew extends Component` 并使其正常工作

reactjs - 在暗/亮模式 Material UI 之间切换

reactjs - 选择未被调用的 renderValue 函数 [ReactJS/Material-UI]

primefaces - p :inputmask 中的转义数字 9

javascript - Jquery 输入掩码(重新定义数字 "9")

json - 当 'Content-Type' 设置为 'application/json' 时,无法发送 post 请求

javascript - 语法错误: super() is only valid in derived class constructors

javascript - 输入去掉前导0

reactjs - React hook 中的 useEffect 第二个参数变化?

reactjs - 类型错误 : Cannot read properties of undefined (reading 'down' )