Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 尝试材质ui SelectField组件时出错_Reactjs_Material Design_React Jsx_Material Ui - Fatal编程技术网

Reactjs 尝试材质ui SelectField组件时出错

Reactjs 尝试材质ui SelectField组件时出错,reactjs,material-design,react-jsx,material-ui,Reactjs,Material Design,React Jsx,Material Ui,我现在正在试用MaterialUI。我是react.js和material ui的新手,不知怎么的,我能处理一些东西,但不能使用SelectField。每当我使用SelectField组件时,我都会得到一个 未捕获的TypeError:无法读取undefinederror的属性“toUpperCase” 我遵循了它的写作方式: 这是我的selectField.jsx文件: var React = require('react'); var mui = require('material-ui')

我现在正在试用MaterialUI。我是react.js和material ui的新手,不知怎么的,我能处理一些东西,但不能使用SelectField。每当我使用SelectField组件时,我都会得到一个

未捕获的TypeError:无法读取undefinederror的属性“toUpperCase”

我遵循了它的写作方式:

这是我的
selectField.jsx
文件:

var React = require('react');
var mui = require('material-ui');
var SelectField = mui.SelectField;
var ThemeManager = new mui.Styles.ThemeManager();
var Colors = mui.Styles.Colors;
var StyleResizable = mui.Mixins.StyleResizable;

var menuItems = [
{ payload: '1', text: 'Never' },
{ payload: '2', text: 'Every Night' },
{ payload: '3', text: 'Weeknights' },
{ payload: '4', text: 'Weekends' },
{ payload: '5', text: 'Weekly' },
];

var Main = React.createClass({

  getInitialState: function() {
    return { selectValue: undefined};
  },

  childContextTypes: {
    muiTheme: React.PropTypes.object
  },

  getChildContext: function() {
    return {
      muiTheme: ThemeManager.getCurrentTheme()
    };
  },

  render: function() {
    return (
      <SelectField
      value={this.state.selectValue}
      onChange={this._handleSelectValueChange}
      floatingLabelText="Select Field"
      menuItems={menuItems} />
    );
  },

  _handleSelectValueChange: function(e) {
    this.setState({
      selectValue: e.target.value
    });
  }
});

module.exports = Main;
(function () {
  var React = require('react');
  var injectTapEventPlugin = require('react-tap-event-plugin');
  var Main = require('./components/selectField.jsx'); 

  window.React = React;

  injectTapEventPlugin();

  React.render(<Main />, document.body);

})();

你能同时显示父组件吗?@tobiasandersen是的,添加了父组件。这正是我的工作代码。确保捆绑包中没有不同版本的React。另外,我建议您将模块命名为Main以外的名称(最好接近文件名)。@tobiasandersen谢谢您,在我更新了React和Material ui之后,它工作了。我上周五刚收到,但我想他们在那之后更新了。。。谢谢你的建议。我将在我的代码中反映它。可能只是更新材料ui版本。我在SelectField中没有看到任何方法toUpperCase。