gpt4 book ai didi

javascript - 以编程方式在 material-ui Autocomplete TextField 中设置值

转载 作者:行者123 更新时间:2023-12-03 16:38:29 25 4
gpt4 key购买 nike

在我的 React 应用程序中,我有一个可以从下拉列表中获取值的输入。对于那个 putpose,我使用 material-ui Autocomplete 和 TextField 组件。

问题:如何通过单击按钮而不从下​​拉列表中选择以编程方式设置输入值?例如,我想从示例中设置“教父”,并且应该在输入中直观地看到这个值。

Codesandbox example here

import React from "react";
import Autocomplete from "@material-ui/lab/Autocomplete";
import { TextField, Button } from "@material-ui/core";

export default function ComboBox() {
const handleClick = () => {
// set value in TextField from dropdown list
};

return (
<React.Fragment>
<Autocomplete
options={top100Films}
getOptionLabel={option => option.title}
style={{ width: 300 }}
renderInput={params => (
<TextField
{...params}
label="Combo box"
variant="outlined"
fullWidth
/>
)}
/>
<Button onClick={handleClick}>Set value</Button>
</React.Fragment>
);
}

// Top 100 films as rated by IMDb users. http://www.imdb.com/chart/top
const top100Films = [
{ title: "The Shawshank Redemption", year: 1994 },
{ title: "The Godfather", year: 1972 },
{ title: "The Godfather: Part II", year: 1974 },
{ title: "The Dark Knight", year: 2008 }
];

最佳答案

您可以在状态中存储所需的值并将其传递给自动完成组件。

进口 使用状态 :

   import React, { useState } from 'react';

使用 使用状态 :
   const [val,setVal]=useState({})

单击按钮时更改值
  const handleClick = () => {
setVal(top100Films[0]);//you pass any value from the array of top100Films
// set value in TextField from dropdown list
};

并将此值传递给渲染中的组件
 <Autocomplete
value={val}
options={top100Films}
getOptionLabel={option => option.title}
style={{ width: 300 }}
renderInput={params => (
<TextField
{...params}
label="Combo box"
variant="outlined"
fullWidth

/>
)}
/>

关于javascript - 以编程方式在 material-ui Autocomplete TextField 中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59783148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com