首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react-native-modal dropdown无法以编程方式更改所选内容

react-native-modal dropdown无法以编程方式更改所选内容
EN

Stack Overflow用户
提问于 2017-08-27 23:45:24
回答 3查看 3K关注 0票数 0

我需要在代码中的另一个事件发生时更改_dropdown_select()方法。我在我的react原生应用中使用sohobloo/react-native-modal-dropdown。我尝试将其作为我的<ModalDropdown>标记的属性:select={(idx)=> this._dropdown_select(idx).bind(this)}

我的方法是:

代码语言:javascript
复制
_dropdown_select(idx){
    return idx;
}

我这样调用它:在另一个方法中使用this._dropdown_select(0);

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-08 03:05:02

答案是从插件生成器中调用你的方法上的Dropdown的引用的select(idx)。可以找到here。示例:this.refs.dropDown.select(-1)

票数 0
EN

Stack Overflow用户

发布于 2017-08-28 00:45:59

在属性中:

代码语言:javascript
复制
<ModalDropdown options={['option 1', 'option 2']}
  onSelect={this._dropdown_select}
  defaultIndex={this.state.selectedIndex}
>
  ...
</ModalDropdown>

构造函数

代码语言:javascript
复制
constructor(props) {
    super(props)
    this.state = {selectedIndex: '', dropDown:{}}
    this._dropdown_select = this._dropdown_select.bind(this)
}

方法:

代码语言:javascript
复制
_dropdown_select(event){
   this.setState({selectedIndex: event.target.index, dropDown:event})
}

调用select方法

代码语言:javascript
复制
this.state.dropDown.select(2)
票数 1
EN

Stack Overflow用户

发布于 2019-01-11 19:35:35

我还通过使用.select(ix)实现了这一点

在组件中:

代码语言:javascript
复制
..
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

代码语言:javascript
复制
<ModalDropdown
          ref={this.sizeRef}
          options={this.state.sizeSelect}
          textStyle={styles.text}
          dropdownTextStyle={styles.dropText}
          defaultIndex={0}/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45906711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档