Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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
Javascript React的自动完成组件不适用于选择列表中的筛选器_Javascript_Reactjs_React Native_Material Ui - Fatal编程技术网

Javascript React的自动完成组件不适用于选择列表中的筛选器

Javascript React的自动完成组件不适用于选择列表中的筛选器,javascript,reactjs,react-native,material-ui,Javascript,Reactjs,React Native,Material Ui,我正在使用材料界面的自动完成,来过滤值列表,我使用了自动完成的onChange事件。为了对手动输入的值产生影响,我使用了位于自动完成下的textfield的onChange事件 但它与自动完成的onChnage事件冲突,列表未被过滤。谁能告诉我,我犯了什么错误 代码如下: <Autocomplete freeSolo options={this.state.dimension.map(p => p)} renderInput={params => ( <

我正在使用材料界面的自动完成,来过滤值列表,我使用了自动完成的onChange事件。为了对手动输入的值产生影响,我使用了位于自动完成下的textfield的onChange事件

但它与自动完成的onChnage事件冲突,列表未被过滤。谁能告诉我,我犯了什么错误

代码如下:

<Autocomplete
  freeSolo
  options={this.state.dimension.map(p => p)}
  renderInput={params => (
    <TextField
      {...params}
      margin="normal"
      variant="outlined"
      fullWidth
      autoComplete="off"
      required
      onChange={this.handleDimensionChangeManual}
    />
  )}
  onChange={this.handleDimensionChange}
  value={this.state.dimemsionValue}
/>
handleDimensionChangeManual (event) {
  let newState = Object.assign({}, this.state);

  if (event.target.value && newState.dimemsionValue != event.target.value) {
    newState.dimemsionValue = event.target.value;
    if (
      newState.dimension.includes(newState.dimemsionValue) === false &&
      newState.dimemsionValue.length > 0
    ) {
      newState.remark =
        "Size might be non-standard and may have effect on price";
    } else {
      newState.remark = "";
    }
    newState.disableSubmit = true;
    newState.itemid = "";
    newState.cmtExistingItemRemark = "";
    newState.orderCode = "";
    this.setState(newState);
  }
};

handleDimensionChange (event, values) {
  let newState = Object.assign({}, this.state);

  if (values && newState.dimemsionValue != values) {
    newState.dimemsionValue = values;
    if (
      newState.dimension.includes(newState.dimemsionValue) === false &&
      newState.dimemsionValue.length > 0
    ) {
      newState.remark =
        "Size might be non-standard and may have effect on price";
    } else {
      newState.remark = "";
    }
    newState.disableSubmit = true;
    newState.itemid = "";
    newState.cmtExistingItemRemark = "";
    newState.orderCode = "";
    this.setState(newState);
  }
};