首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React select在Laravel-mix中没有显示值

React select在Laravel-mix中没有显示值
EN

Stack Overflow用户
提问于 2018-10-02 08:14:02
回答 1查看 611关注 0票数 0

一个项目组从学校提供了一个正面的反应,我们必须做一个后端。我们决定和Laravel一起这么做。现在一切都很好,除了一件事:下拉列表在我们的Laravel应用程序中没有显示选择的值,但是在他们的React应用程序中显示了。我们没有改变下拉代码中的任何内容,所以有人能解释一下为什么它现在不起作用吗?我在反应方面不是很有经验,所以我们很感谢你的帮助。

这是代码:

代码语言:javascript
复制
    /* handleChange passes the selected dropdown item to the state. */
  handleChange = (selectedOption) => {
    this.setState({ selectedOption });
        if (selectedOption) {
            console.log(`Selected: ${selectedOption.label}`);
        }
  };

    /* This render function, renders the grid, dropdown-menu, 'Add Item'-button
     * and 'Reset Layout'-button. This is also where the createElement() function
     * is called for each grid item.
     */
  render() {
    const { selectedOption } = this.state;
    const value = selectedOption && selectedOption.value;

    return (
        <div>
            <div className='widgetselecter'>
                <Select className='dropdown'
                    name="form-field-name"
                    value={value}
                    onChange={this.handleChange}
                    options={[
                        { value: 'one', label: 'One' },
                        { value: 'Clock', label: 'Clock' },
                        { value: 'Photo', label: 'Photo' },
                        { value: 'Weather', label: 'Weather' },
                    ]}
                    />
                <button className='addButton' onClick={this.onAddItem}>Add Item</button>
                <button className='reset' onClick={this.onLayoutReset}>Reset Layout</button>
                <span className='title'>/Dash</span>
            </div>
            <ResponsiveReactGridLayout
                onLayoutChange={this.onLayoutChange}
                onBreakPointChange={this.onBreakPointChange}
                {...this.props}>
                {_.map(this.state.items, el => this.createElement(el))}
            </ResponsiveReactGridLayout>
        </div>
        );
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-02 15:39:48

我改变了它:

代码语言:javascript
复制
value={value}

至:

代码语言:javascript
复制
value={selectedOption}

并移除:

代码语言:javascript
复制
const value = selectedOption && selectedOption.value;

因此,它与https://github.com/JedWatson/react-select上的示例代码匹配。

代码语言:javascript
复制
handleChange = (selectedOption) => {
    this.setState({ selectedOption });
    console.log(`Option selected:`, selectedOption);
  }
  render() {
    const { selectedOption } = this.state;

    return (
      <Select
        value={selectedOption}
        onChange={this.handleChange}
        options={options}
      />
    );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52604423

复制
相关文章

相似问题

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