如何将Material-UI TextField与react-phone-number-input一起使用

Insivika

我想从react-phone-number-input作为inputComponent道具向PhoneInput组件提供一个实质性的UI TextField组件

但是,我似乎无法成功应用引用。尽管我看到Material UI TextField组件已呈现到UI,并且状态已使用该值成功更新,但是在键入第一个值后,它始终失去焦点。

import React, { forwardRef, createRef } from 'react';
import { TextField } from '@material-ui/core';
import 'react-phone-number-input/style.css';
import PhoneInput from 'react-phone-number-input';

const SampleComponent = ({ handleChange }) => {

const phoneInput = forwardRef((props, ref) => {

return (
  <TextField
    inputRef={ref}
    fullWidth
    label="Phone Number"
    variant="outlined"
    name="phone"
    onChange={handleChange}
  />
  );
});

const ref = createRef();
return (
    <PhoneInput ref={ref} inputComponent={phoneInput} />
   );
  };
格里格

因此,我可以使用以下方法使其正常工作。任何有关如何改善此问题的建议都将受到欢迎。

我有一个单独的文件叫做 PhoneNumber.jsx

import { forwardRef } from 'react'
import TextField from '@material-ui/core/TextField'
import { makeStyles } from '@material-ui/core/styles'

const useStyles = makeStyles(theme => ({
  input: {
    backgroundColor: '#fff'
  }
}))

const phoneInput = (props, ref) => {
  const classes = useStyles()

  return (

    <TextField
      {...props}
      InputProps={{
        className: classes.input
      }}
      inputRef={ref}
      fullWidth
      size='small'
      label='Phone Number'
      variant='outlined'
      name='phone'
    />
  )
}
export default forwardRef(phoneInput)

和我的表单文件:

import PhoneInput from 'react-phone-number-input'
import CustomPhoneNumber from '../components/prebuilt/PhoneNumber'
...
<PhoneInput
   placeholder='Enter phone number'
   value={phone}
   onChange={setPhone}
   inputComponent={CustomPhoneNumber}
/>
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将 react-phone-input-2 与 Typescript 一起使用

如何将所有 React 事件与 Material-UI 组件一起使用?

如何将Material-UI自动完成功能与react-virtualized一起使用?

如何将React Router与Material UI Drawer一起使用以更改点击内容?

将material-ui中的<TextField />组件与react-hook-form一起使用会显示警告

如何将 Material UI 与 Electron React Boilerplate 结合使用?

如何将react-phone-number-input添加到-react-final-form?

如何使用React Jest测试TextField Material-UI元素?

React:如何使用Material-ui在Selects中添加Textfield?

无法将React.lazy与Material UI图标一起使用

将@material-ui/core 与 NextJS/React 一起使用时的 FOUC

可以将Material UI库与React Native一起使用吗?

如何将 helperText 与 Material-UI for React 中 TextField 变体 =“outlined”中的最左侧对齐?

在material-ui中使用TextField对象的inputProps时,将CSS属性与连字符一起使用

如何获得最简单的Material UI Select以与React和Typescript一起使用?

如何获得Material-UI选项卡以与react-router一起使用?

如何将Radio组与Material UI中的TextField对齐?

如何将Material-UI与React和ASP.net MVC结合使用

在将textField组件与select一起使用时出现严重的ui警告

使用React Material-UI自动聚焦TextField

如何覆盖react-phone-number-input样式?

material-ui-phone-number 未安装组件

如何将Jest与React Native一起使用

Material-UI:TextField:react-addons-css-transition-group使用多行TextField中断

[React Final Form]是否可以与Material-UI 3.x一起使用?

传播运算符无法与setState一起使用(React,Typescript和Material-ui)

与Radium和Material-UI一起使用时,React悬停样式不起作用

是否可以在 php 中将 React 与 Material ui 一起使用?

尝试将 React Spring 与 Semantic UI React 一起使用,简单示例