Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何访问同一组件中另一个函数的属性?_Javascript_Reactjs_Material Ui - Fatal编程技术网

Javascript 如何访问同一组件中另一个函数的属性?

Javascript 如何访问同一组件中另一个函数的属性?,javascript,reactjs,material-ui,Javascript,Reactjs,Material Ui,我想把NumberFormat放在OutlinedInput中。另外,我想为NumberFormat提供不同的属性格式。将有一个选择窗口,用于定义要使用的格式属性 我有这个: import OutlinedInput from "@material-ui/core/OutlinedInput"; import NumberFormat from 'react-number-format'; function NumberFormatCustom(props) { c

我想把NumberFormat放在OutlinedInput中。另外,我想为NumberFormat提供不同的属性格式。将有一个选择窗口,用于定义要使用的格式属性

我有这个:

import OutlinedInput from "@material-ui/core/OutlinedInput";

import NumberFormat from 'react-number-format';

function NumberFormatCustom(props) {

  const { value, format, ...other} = props;

  return(
    <NumberFormat 
    {...other}
    format={format}
    mask="_"
    />
  )
}


export default function TextMaskPhone(props) {
  const classes = useStyles();
  const { value, name, label, onChange } = props;

  

  const [format, setFormat] = useState("+1 (###) ###-####");

  return (
      <div>
        <Button onClick={doTest}>change</Button>
        <FormControl className={classes.root} variant="outlined">
          <InputLabel htmlFor="component-outlined">{label}</InputLabel>
          <OutlinedInput
            className={classes.inputPhone}
            labelWidth="50"
            value={value}
            name={name}
            onChange={onChange}
            id="formatted-text-mask-input"
            inputComponent={NumberFormatCustom}
          />
        </FormControl>  
      </div>
  );
}


请帮助,我如何将TextMaskPhone函数中的formatvalue传递到NumberFormatCustom?

您必须使用inputProps:

<OutlinedInput
      labelWidth="50"
      value={value}
      name={name}
      onChange={onChange}
      inputProps={{
        format
      }}
      id="formatted-text-mask-input"
      inputComponent={NumberFormatCustom}
    />
由于inputComponent接受一个组件,因此简单地执行以下操作

} />
如果不知道OutlinedInput是什么,就无法回答这个问题。它来自第三方库吗?是的,很抱歉忘记添加它。其材质为UIit,但inputComponent会丢失OutlinedComponent的所有样式特性: