Мне нужно изменить метод _dropdown_select() для другого события в моем коде. Я использую sohobloo / Reaction-native-modal-dropdown в моем реагировать родное приложение. Я попытался использовать это в качестве атрибутов для моего тега <ModalDropdown>: select={(idx)=> this._dropdown_select(idx).bind(this)}

И мой метод:

_dropdown_select(idx){
    return idx;
}

Я называю это так: this._dropdown_select(0); внутри другого метода

0
Asif 27 Авг 2017 в 18:45

3 ответа

Лучший ответ

Ответ заключается в вызове метода выбора (idx) ссылки на раскрывающийся список для вашего метода от производителя плагинов. можно найти здесь. Пример: this.refs.dropDown.select(-1)

0
Asif 7 Сен 2017 в 19:05

В собственности:

<ModalDropdown options={['option 1', 'option 2']}
  onSelect={this._dropdown_select}
  defaultIndex={this.state.selectedIndex}
>
  ...
</ModalDropdown>

Конструктор

constructor(props) {
    super(props)
    this.state = {selectedIndex: '', dropDown:{}}
    this._dropdown_select = this._dropdown_select.bind(this)
}

Метод:

_dropdown_select(event){
   this.setState({selectedIndex: event.target.index, dropDown:event})
}

Вызов метода выбора

this.state.dropDown.select(2)
1
Kalaikumar Thangasamy 27 Авг 2017 в 17:18

Также получил это работает с помощью .select (ix)

В компоненте:

..
constructor(props) {
 super(props);

 this.state = {
  sizeSelect: [1,2,3]
 };

 this.sizeRef = React.createRef();
}

handleChange = (e) => {
 this.setState({sizeSelect: [4,5,6]});
 this.sizeRef.current.select(1);
}
..

JSX

<ModalDropdown
          ref={this.sizeRef}
          options={this.state.sizeSelect}
          textStyle={styles.text}
          dropdownTextStyle={styles.dropText}
          defaultIndex={0}/>
0
Adam Maloney 11 Янв 2019 в 11:35