当前位置: 首页 > 知识库问答 >
问题:

光标跳出自定义文本字段上的文本字段!怎么解决这个?[材料-界面/文本字段]

赵元白
2023-03-14

伙计们,我使用了Material-UI文本字段,并通过使它成为一个自定义组件来创建一些自定义主题选项。

如下所示:-

const CustomTextField = ({props}) =>{
return (
  <TexField
   label={props.label}
   name={props.label}
   value={props.row[props.label]}
   onChange={(e)=>props.handleChangeFunction(e)}
   />
 )
}

在我的组件中,我注入如下:-

const App = () =>{
    const [value,setValue] = useState('');
//Some methods here
   const handleChange = () =>{
   //Logic here.......
   }

 return(
   <>
    <CustomTextField {...{label:'name',row:emp,handleChangeFun:handleChange}}/> //Custom Comps...
   </>
 ) 
}

所以在每个输入上发生的事情,我的组件呈现,光标从文本字段跳出来,所以为了输入下一个值,我必须再次单击文本字段。

但是当我使用普通的文本字段时,直接在组件中它工作得很好,我理解这是因为onChange事件和在自定义组件中使用文本字段。

在每个值上更改父组件重新呈现。

有没有人能给我一个解决方案?

共有1个答案

郑功
2023-03-14

我不确定你传递道具的方式。这应该起作用:

const CustomTextField = (props) => {
  return (
    <TextField
      label={props.label}
      name={props.label}
      value={props.value}
      onChange={props.onChange}
    />
  );
};

export default function App() {
  const [value, setValue] = useState("");

  const handleChange = (e) => {
    setValue(e.target.value);
  };

  return (
    <>
      <CustomTextField label="name" value={value} onChange={handleChange} />
    </>
  );
}

可选地,您可以像这样创建组件,而不对道具进行分组:

const CustomTextField = ({label, value, onChange}) => {
  return <TextField label={label} name={label} value={value} onChange={onChange}/>
};
 类似资料:
  • 问题内容: 我有一个文本框,有没有办法隐藏闪烁的文本光标?我之所以这样说,是因为我正在制作一个恐怖/神秘的网站,线索之一就是可以在任何地方开始打字。 也许我可以用JavaScript做到这一点? 问题答案: 尝试这个: 这个想法是在真实的对象上方/上方创建第二个不可见的对象。用户正在键入不可见的内容,但由于不可见,因此文本(也不显示插入符号/光标)不出现!然后,您可以使用JavaScript将其值

  • 我是swift编程的新手,我需要设计带有浮动占位符输入的登录页面。我已经使用POD安装了MDCTextInput。 添加的导入 并且在viewDidLoad()下面添加的代码中, Material iOS Github链接为:material-components-ios

  • 我如何用材料组件做到这一点? 我不想在边框之间有这样的标签:(当你有多个填充字段时,这看起来不再好看了,在我看来,所有中断的边框都很紧张)

  • 我正在编写一个使用javafx FXML生成日志文件的程序。是否可以生成一组与仪器相关联的文本字段。示例:型号:Sn:Tg:Gas: 我需要收集每个仪器的信息,但有些地方有5个单位,有些只有1个。我正在寻找有字段生成从用户输入多少他们需要。这是我能做的吗?

  • 我有一个select输入,我使用MaterialUI库中的TextField组件创建它。选择某些选项后,我需要手动失去焦点。我尝试使用'inputRef'prop引用TextField,这非常有效,但是当我尝试在这个函数上启动blur()函数时。选择输入。就像我在这里做的,但没有材料库。 我得到一个错误,blur()函数不存在。我了解材料用户界面使用自定义el。为了创建UI,我只针对一个div或其

  • 在这里,我试图在数组中创建文本字段和标签,并将它们添加到网格窗格中,但在注释行和以后的行中会遇到问题。