首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何结合使用material-ui TextField和react-phone-number-input

如何结合使用material-ui TextField和react-phone-number-input
EN

Stack Overflow用户
提问于 2020-03-29 11:21:44
回答 1查看 14.8K关注 0票数 5

我想从react-phone-number-input中为PhoneInput组件提供一个重要的UI TextField组件作为inputComponent属性。

然而,我似乎不能成功地申请裁判。尽管我看到了呈现给UI的Material UI TextField组件,并且状态已成功地更新为值,但在键入第一个值之后,它一直处于松散状态。

代码语言:javascript
复制
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} />
   );
  };
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-23 04:04:05

因此,我能够使用以下方法使其正常工作。任何关于如何改进这一点的建议都非常受欢迎。

我有一个名为PhoneNumber.jsx的单独文件

代码语言:javascript
复制
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)

和我的表格文件:

代码语言:javascript
复制
import PhoneInput from 'react-phone-number-input'
import CustomPhoneNumber from '../components/prebuilt/PhoneNumber'
...
<PhoneInput
   placeholder='Enter phone number'
   value={phone}
   onChange={setPhone}
   inputComponent={CustomPhoneNumber}
/>
...
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60909788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档