React native 在React Native中,通过键盘和快速输入按钮更新文本输入的值

React native 在React Native中,通过键盘和快速输入按钮更新文本输入的值,react-native,textinput,react-native-textinput,React Native,Textinput,React Native Textinput,我想控制3个自定义文本输入组件,方法是允许用户在页面上按一个按钮,为所有3个输入设置一个预编程值,或者允许用户在3个输入中输入自定义值。我可以让两种方式分别工作,但我很难让程序允许一种覆盖另一种(即,用户按下一个快速输入按钮,文本输入被填充,然后用户决定要更改其中一个或多个) 为了实现快速输入按钮的功能,我对三个输入框中的每一个都使用useState,并使用道具将状态传递给自定义组件。当我这样做时,尝试手动输入一个值会导致输入立即被该输入框的当前状态覆盖。我尝试使用第四个状态变量来监控输入是快速

我想控制3个自定义文本输入组件,方法是允许用户在页面上按一个按钮,为所有3个输入设置一个预编程值,或者允许用户在3个输入中输入自定义值。我可以让两种方式分别工作,但我很难让程序允许一种覆盖另一种(即,用户按下一个快速输入按钮,文本输入被填充,然后用户决定要更改其中一个或多个)

为了实现快速输入按钮的功能,我对三个输入框中的每一个都使用useState,并使用道具将状态传递给自定义组件。当我这样做时,尝试手动输入一个值会导致输入立即被该输入框的当前状态覆盖。我尝试使用第四个状态变量来监控输入是快速输入还是手动来调整道具的值,但意识到当用户开始键入时,我不知道如何声明值

下面是一些示例代码片段,但我现在最大的问题是概念问题。正如我上面所说,我使用了下面的代码,它不允许用户手动更改值。对于实现这一目标的总体概念有什么想法吗?谢谢你的帮助

国家声明:

const [IntervalSeconds, setIntervalSeconds] = React.useState('')
const [IntervalMinutes, setIntervalMinutes] = React.useState('')
const [IntervalHours, setIntervalHours] = React.useState('')
const [UserCustomValue, setUserCustomValue] = React.useState(true)
快速输入按钮示例:

<ButtonSquare
    Styles={styles.quickInputButton}
        ButtonText={'30 Seconds'}
        onPress={() => {
            setIntervalSeconds('30')
            setIntervalMinutes('0')
            setIntervalHours('0')
        }}
/>
{
setIntervalSeconds('30')
setIntervalMinutes('0')
setIntervalHours('0')
}}
/>
文本输入组件示例:

<NumberInput
    Value={IntervalSeconds}        
    Width={20}
    Placeholder={'ss'}
/>

然后TextInput值属性就是value={props.value}。我不打算把整件事都抄在这里