Skip to content

refactor: Fix Default Value - #1

Merged
AdelRedaa97 merged 2 commits into
AdelRedaa97:masterfrom
anastely:fixDefaultIndex
Apr 9, 2021
Merged

refactor: Fix Default Value#1
AdelRedaa97 merged 2 commits into
AdelRedaa97:masterfrom
anastely:fixDefaultIndex

Conversation

@anastely

@anastely anastely commented Apr 9, 2021

Copy link
Copy Markdown
Contributor

I have an issue with the defaultValueByIndex,
So I provide a prop named isReset when triggering it I call the reset().

  useEffect(() => {
    isReset && reset();
  }, [isReset]);

So in this way, I can reset the default index.

Note:
I use Prettier for Code Formatting.

@anastely

anastely commented Apr 9, 2021

Copy link
Copy Markdown
Contributor Author

You Know :-D, We can do it like this

useEffect(() => {
      reset();
   }, [isReset])

In initial render will be reset, but otherwise will be triggering in every change to isReset this way better, What do you think?
If that's way good I can send another PR.

@AdelRedaa97
AdelRedaa97 merged commit 29382d5 into AdelRedaa97:master Apr 9, 2021
@anastely

anastely commented Apr 9, 2021

Copy link
Copy Markdown
Contributor Author

@AdelRedaa97 Thanks for Accepting this PR
Can you check this comment please?

@AdelRedaa97

Copy link
Copy Markdown
Owner

@AdelRedaa97 Thanks for Accepting this PR
Can you check this comment please?

Hello @anastely ,
I have changed the way that reset the dropdown so that you can reset by using a Ref

import React, { useRef } from 'react';  
.....  
const dropdownRef = useRef({});  
.....  
onPress={()=>{ dropdownRef.current.reset() }};  
.....  
<SelectDropdown  
   data={types}  
    ref={dropdownRef}  
    .....  
/>  

@abid-2362

abid-2362 commented Feb 13, 2022

Copy link
Copy Markdown

For typescript, ref should be defined as

const dropdownRef = useRef<SelectDropdown>(null);

@fitri612

fitri612 commented Oct 26, 2023

Copy link
Copy Markdown
const dropdownRef = useRef({});  

  const funcReset = () => {
    dropdownRef.current.reset();
    setSelectedType('Type');
    setSelectedJenis('Jenis');
  };

 <View style={styles.wpFilter}>
          <SelectDropdown
            data={dataType}
            ref={dropdownRef}
            onSelect={(selectedItem, index) => {
              onHandleSelectedType(index);
            }}
            selectedItem={selectedType}
            defaultButtonText={selectedType}
            buttonStyle={{
              width: isTablet
                ? screenWidth - RFValue(250)
                : screenWidth - RFValue(220),
              height: isTablet ? 60 : 50,
              backgroundColor: '#fff',
              marginBottom: 10,
              justifyContent: 'center',
              alignItems: 'center',
              borderWidth: 1,
              borderColor: 'rgba(0, 0, 0, 0.1)',
              borderRadius: 10,
            }}
            buttonTextStyle={{
              fontSize: RFValue(10),
              fontFamily: 'Poppins-Regular',
              color: '#666',
            }}
            renderDropdownIcon={() => {
              return (
                <Entypo name="chevron-down" size={RFValue(20)} color="#666" />
              );
            }}
            dropdownStyle={{
              width: isTablet
                ? screenWidth - RFValue(250)
                : screenWidth - RFValue(220),
              height: 150,
              backgroundColor: '#fff',
              borderWidth: 1,
              borderColor: '#ccc',
              borderRadius: 5,
              fontSize: RFValue(10),
            }}
          />
          <SelectDropdown
            data={dataJenis}
            ref={dropdownRef}
            onSelect={(selectedItem, index) => {
              onHandleSelectedJenis(index);
            }}
            selectedItem={selectedJenis}
            defaultButtonText={selectedJenis}
            buttonStyle={{
              width: isTablet
                ? screenWidth - RFValue(250)
                : screenWidth - RFValue(220),
              height: isTablet ? 60 : 50,
              backgroundColor: '#fff',
              marginBottom: 10,
              justifyContent: 'center',
              alignItems: 'center',
              borderWidth: 1,
              borderColor: 'rgba(0, 0, 0, 0.1)',
              borderRadius: 10,
            }}
            buttonTextStyle={{
              fontSize: RFValue(10),
              fontFamily: 'Poppins-Regular',
              color: '#666',
            }}
            renderDropdownIcon={() => {
              return (
                <Entypo name="chevron-down" size={RFValue(20)} color="#666" />
              );
            }}
            dropdownStyle={{
              width: isTablet
                ? screenWidth - RFValue(250)
                : screenWidth - RFValue(220),
              height: 150,
              backgroundColor: '#fff',
              borderWidth: 1,
              borderColor: '#ccc',
              borderRadius: 5,
              fontSize: RFValue(10),
            }}
          />
        </View>

<Button title={'Reset'} onPress={funcReset} />

why value not solve when i click function reset ?
        
        

@ajayyorkie

Copy link
Copy Markdown

How to use disabledIndexs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants