我有一个用户输入电话号码的屏幕。我loadUsers根据输入运行graphql查询,然后通过showUsers函数显示搜索结果。第一次运行正常。我得到了结果。但是,此后,当有条件地呈现结果时,搜索按钮将被禁用。因此,如果我想输入不同的电话号码并再次点击搜索按钮,则无法执行此操作。除非我退出屏幕然后回来。我怎样才能解决这个问题?
这是我的代码的样子:
export const AddContactTry: React.FunctionComponent = () => {
const initialValues: FormValues = {
phoneNumber: '',
};
const [isSubmitted, setIsSubmitted] = useState(false);
const [userData, setUserData] = useState<UsersLazyQueryHookResult>('');
const navigation = useNavigation();
const validationSchema = phoneNumberValidationSchema;
const [
createUserRelationMutation,
{
data: addingContactData,
loading: addingContactLoading,
error: addingContactError,
called: isMutationCalled,
},
] = useCreateUserRelationMutation({
onCompleted: () => {
Alert.alert('Contact Added');
},
});
const showUsers = React.useCallback(
(data: UsersLazyQueryHookResult) => {
if (data) {
return (
<View style={styles.users}>
{data.users.nodes.map( …Run Code Online (Sandbox Code Playgroud) 我使用 Material UI 选择创建了一个下拉菜单。它说“搜索”。当我们点击它时,它会给我们一个列表。当我选择其中一个选项时,我想存储该选项并将“搜索方式”更改为所选的选项。
export default function UserSearchPage(){
const [criteria, setCriteria] = useState('');
const [searchItem, setSearchItem] = useState('');
return (
<div>
<div className='main-content'>
<Select
value = {criteria}
onChange={
value => { setCriteria(value);}
}
displayEmpty
>
<MenuItem disabled value="">
<em>Search By</em>
</MenuItem>
<MenuItem value={1}>First Name</MenuItem>
<MenuItem value={2}>Last Name</MenuItem>
<MenuItem value={3}>Phone Number</MenuItem>
<MenuItem value={4}>Email</MenuItem>
</Select>
</div>
)
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
目前, onChange 给了我这个价值错误:
Argument of type 'ChangeEvent<{ name?: string | undefined; value: unknown; }>' is not assignable to parameter of type 'SetStateAction<string>'. …Run Code Online (Sandbox Code Playgroud) myDict = {'DISPLAY': [0.12, 0.0], 'BATTERY': [0.5, 0.0]}
Run Code Online (Sandbox Code Playgroud)
我想检查每个列表中的所有值并查看最大的值。在这种情况下,它是 0.5 对应于键“BATTERY”,所以我想返回“BATTERY”。我怎样才能做到这一点?我不想再次遍历所有内容/创建一个新的 dict,因为我已经在我的代码的前面步骤中这样做了。
result = max(myDict, key=myDict.get)
Run Code Online (Sandbox Code Playgroud)
在这种情况下将无法正常工作,因为这些值是一个列表。例如,当最大值不在列表值的第 0 个索引位置时,它在这种情况下不起作用。
{'DISPLAY': [0.16], 'BATTERY': [0.0, 0.77]}
Run Code Online (Sandbox Code Playgroud) date red,heavy,new blue,light,old
1-2-20 320 120
2-3-20 220 125
Run Code Online (Sandbox Code Playgroud)
我想遍历所有行和列,以便我可以解析列名并将它们用作新列的值。我想获取这种格式的数据:
我想要重复日期。“值”列来自原始表。
date color weight condition. value
1-2-20 red heavy new 320
1-2-20 blue light. old. 120
2-3-20 red. heavy new. 220
Run Code Online (Sandbox Code Playgroud)
我试过这个,当我只有一列时它有效
colName = df_retransform.columns[1]
lst = colName.split(",")
color = lst[0]
weight = lst[1]
condition = lst[2]
df_retransform.rename(columns={colName: 'value'}, inplace=True)
df_retransform['color'] = color
df_retransform['weight'] = weight
df_retransform['condition'] = condition
Run Code Online (Sandbox Code Playgroud)
但我无法修改它,以便我可以对所有列进行修改。
javascript ×2
python ×2
react-native ×2
reactjs ×2
dataframe ×1
dictionary ×1
formik ×1
graphql ×1
list ×1
material-ui ×1
pandas ×1
python-3.x ×1
typescript ×1