首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连锁选择

连锁选择
EN

Stack Overflow用户
提问于 2016-10-06 11:18:02
回答 1查看 82关注 0票数 0

我正在使用React + Redux +路由器堆栈,此时我已经有了一个简单的React组件,在这里我尝试开发一个带有行为示例的链接选择的选择。

实际上,我的组件可以很容易地使用这个变量:

代码语言:javascript
复制
var VAR_OPTIONS_OLD = [
    {value: 1, name: '1'},
    {value: 2, name: '2'},
    {value: 3, name: '3'},
    {value: 4, name: '4'},
    {value: 5, name: '5'},
]

其中的组件是这个组件:

代码语言:javascript
复制
<Field
      type={Select}
      options={VAR_OPTIONS_OLD}
      optionValue="value"
      id="someID"
      class="col-12"
      i18n={i18n.someID}
/>

现在,我希望我的两个选择都使用这个变量:

代码语言:javascript
复制
var VAR_OPTIONS_NEW = {
    optionA: {
        name: 'Option A',
        suboption: ['Suboption A1', 'Suboption A2', 'Suboption A3']
    },
    optionB: {
        name: 'Option B',
        suboption: ['Suboption B1', 'Suboption B2', 'Suboption B3']
    },
    optionC: {
        name: 'Option C',
        suboption: ['Suboption C1', 'Suboption C2', 'Suboption C3']
    }
}

这样我就可以利用两个链接的选择,相互依赖。

来源:Var容器示例Gist

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-06 12:44:14

在您的视图组件代码

在顶部:

代码语言:javascript
复制
const _ = require('lodash');
const VAR_OPTIONS_NEW = ... // The one you provided.

在呈现()中:

代码语言:javascript
复制
const firstValue = ... // this should come from your Store (e.g. this.props.firstValue).
const secondValue = ... // this should come from a Store

const firstOptions = _.map(VAR_OPTIONS_NEW, (v, k) => ({ value: k, name: v.name });

let secondOptions = [];
if (VAR_OPTIONS_NEW[firstValue]) {
    secondOptions = VAR_OPTIONS_NEW[firstValue].suboptions.map(
        (name, index) => ({ value: index, name: name })
    );
}
...
<Field
    options={ firstOptions }
    optionsValue={ firstValue }
    onChange={/* is your onChange event connected to Store? */}
    ...
/>
<Field
    options={ secondOptions }
    optionsValue={ secondValue }
    onChange={/* is your onChange event connected to Store? */}
    ...
/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39894574

复制
相关文章

相似问题

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