小编Sra*_*ani的帖子

材质 UI 选择组件 - 组件正在将文本类型的受控输入更改为不受控制

我正在尝试更改 Select 输入的值,然后在控制台中收到以下警告。

index.js:1446 警告:组件正在将文本类型的受控输入更改为不受控制。输入元素不应从受控切换到不受控制(反之亦然)。决定在组件的生命周期内使用受控或非受控输入元素。

但我只以正确的方式更新状态,这是我的代码

 <Select
        value={props.selectedService}
        onChange={props.handleSelectChange}
        inputProps={{
          name: 'selectedService',            
        }}
   >
   <MenuItem value="">
     <em>None</em>
   </MenuItem>
   <MenuItem value="Dry Cleaning">Dry Cleaning</MenuItem>
   <MenuItem value="Washing and Ironing">Washing and Ironing</MenuItem>
   <MenuItem value="Rolling">Rolling</MenuItem>
 </Select>
Run Code Online (Sandbox Code Playgroud)

handleselectchange 功能就在这里。

handleSelectChange = ({target: {name,value}}) => { 
  console.log(name);
  console.log(value); 
  this.setState({ 
    serviceRequest: { 
      selectedService: value 
    } 
  }); 
}
Run Code Online (Sandbox Code Playgroud)

状态对象声明如下

state = {
    open: false,
    selectedDate: new Date(),
    selectedTime : new Date(),
    mailDetails :{
      name:"",
      email:'',
      message:''
    },
    serviceRequest: {
      name: '',
      email: '',
      mobileNumber:'',
      address:'',
      landMark:'',
      selectedService:''
  }
}; …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs material-ui

38
推荐指数
3
解决办法
3万
查看次数

请告诉我何时在java中使用getInstance()方法.

何时在java中使用getInstance()方法,getInstance(null)的含义是什么?

locationProvider = LocationProvider.getInstance(null); 
Run Code Online (Sandbox Code Playgroud)

有谁能告诉我上述行的含义?

java blackberry java-ee

21
推荐指数
2
解决办法
9万
查看次数

Android Studio-存储库类的位置

我想了解一些关于android studio的事实.如果我们compile 'com.android.support:appcompat-v7:24.1.1'在gradle文件中使用这样的 ,那么android studio如何/何时下载库并将其存储在哪里?

另外如何更改库下载的默认位置?

android android-studio

9
推荐指数
1
解决办法
6511
查看次数

如何使用JavaScript从父级的所有子级中删除活动类

我已经在父级中创建了具有相同类的3 div,并在子元素上添加了活动类,并在单击第二个子元素时再次添加了活动类,但是这次我要删除第一个元素的活动状态。如何有效删除它?

这是我的代码

<div class="tab-div">
  <div class="tab">default</div>
  <div class="tab" >hover</div>
  <div class="tab">active</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的javascript

var elements = document.querySelectorAll('.tab');
for (var i = 0; i < elements.length; i++) {
    elements[i].classList.remove('active');
    elements[i].onclick = function (event) {
        console.log("ONCLICK");
        if (event.target.innerHTML === this.innerHTML) {
            this.classList.add("active");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

html javascript

5
推荐指数
1
解决办法
1231
查看次数

如何在对象数组中查找和替换对象

我有一系列这样的对象。

 [{
    "id": 1,
    "name": "January",
    "abc": abc,
    "xyz": xyz
}, {
    "id": 2,
    "name": "February",
    "abc": abc,
    "xyz": xyz
}]
Run Code Online (Sandbox Code Playgroud)

我想用不同的对象替换 id 2 的对象,并且我希望我的对象像这样。

 [{
    "id": 1,
    "name": "January",
    "abc": abc,
    "xyz": xyz
}, {
    "id": 2,
    "name": "New month",
    "abc": 1234abc,
    "xyz": someVlaue
}]
Run Code Online (Sandbox Code Playgroud)

如何在打字稿或JavaScript中以有效的方式做到这一点。

javascript arrays typescript

5
推荐指数
2
解决办法
1万
查看次数

NgIdle -Angular- 如何仅在单击对话框时停止倒计时值

我在我的 angular 应用程序中实现了一个会话超时模块,它监视空闲时间并打开会话超时对话框并在对话框上显示倒计时值。问题是当我在该屏幕上移动鼠标或至少在触摸该屏幕时倒计时值停止,但我想仅当我单击对话框上的任何内容而不是屏幕时停止对话框上的倒计时值。我认为如果我们提供自定义中断,如下面的链接所示,就可以做到这一点

例如,如果我仅配置为鼠标单击,它可以停止对话框上的倒计时,但这不会发生。可能这个问题可能是因为我正在从另一个组件打开会话超时对话框。

但我无法停止倒计时,这是我的示例代码

this.idle.onIdleStart.subscribe(() => {
  console.log('on idle start');
  let dialogRef;

  if (this.dialogRef === undefined || this.dialogRef === null) {

    dialogRef = this.dialog['open'](SessionTimeoutDialogComponent, {
      width: '30%',
      data: {idleTime: 10, timeoutTime: 10},
      panelClass: 'session-timeout-dialog'
    });
    this.dialogRef = dialogRef;
  }

  this.dialogRef.afterClosed().subscribe(result => {
    this.timeoutTime = result;
  });
  this.dialogRef = dialogRef;
});


 this.idle.onTimeoutWarning.subscribe((countdown) => {
  this.timeoutTime = countdown;
  this.dataService.changeVersionSelectionData(countdown);

});
Run Code Online (Sandbox Code Playgroud)

谁能指导我们如何做到这一点?

ng-idle angular

4
推荐指数
1
解决办法
2253
查看次数

无法在React js Web应用程序中使用Material-ui-pickers

我正在尝试在react应用程序中实现Material-ui-picker。

来自以下链接的交错代码

尝试实施免费设计部分

在此处输入图片说明

我使用了来自单独文件中docs的代码,并安装了所有软件包,但未找到模块:错误:无法解析“ date-fns / format”,然后我尝试从node-modules文件夹路径中导入date-fns链接像这样从'../../../../node_modules/date-fns/form'导入DateFnsUtils,然后出现以下错误。 在此处输入图片说明

有没有人成功集成了material-ui-pickers ..请提出建议

reactjs material-ui material-ui-pickers

2
推荐指数
1
解决办法
5452
查看次数

无法在 React 中编辑材质 UI 文本字段

我是 React 新手,我尝试使用 React 中的材质 UI 设计一个表单。我能够使用文本字段设计表单,但如果我使用文本字段的值属性,则无法编辑数据。当为子组件中的 Textfield 调用 onChange 函数时,我如何调用父函数。这是我的代码。

在父组件中我像这样包含

 render() {
const { name, email, mobileNumber } = this.state.serviceRequest;

return (
  <div>
  <HomeTemplate 
  handleShow = {this.handleShow}
  handleClose = {this.handleClose}
  name = {name}
  email ={email}
  mobileNumber = {mobileNumber}
  DateFnsUtils ={DateFnsUtils}
  handleDateChange ={this.handleDateChange}
  handleChange = {this.handleChange}
   /> 
 </div>
  );
Run Code Online (Sandbox Code Playgroud)

}

在子组件中,我有这样的文本字段。由于无法发布整个代码,我发布了部分代码,这对于解决问题很有用。我也会在评论中发布粘贴 bin 链接。

 <TextField
            autoFocus
            margin="dense"
            id="emailId"
            label="Email Address"
            type="email"
            value= {props.email}
            fullWidth
          />
Run Code Online (Sandbox Code Playgroud)

请建议我该怎么做?

reactjs material-ui

2
推荐指数
1
解决办法
5538
查看次数

根据匹配的属性值使用另一个数组更新数组

我有两个这样的数组

 let array1 =   [{
      'id': 1,
      'name': 'A'
    }, {
      'id': 2,
      'name': 'B'
    }, {
      'id': 3,
      'name': 'C'
    }]

let array2 =   [{
      'id': 1,
      'name': 'x'
    }, {
      'id': 2,
      'name': 'y'
    }]
Run Code Online (Sandbox Code Playgroud)

我想用基于 id 值匹配的数组 2 对象值更新数组 1。结果会是这样的。

 [{
      'id': 1,
      'name': 'x'
    }, {
      'id': 2,
      'name': 'y'
    }, {
      'id': 3,
      'name': 'C'
    }]
Run Code Online (Sandbox Code Playgroud)

我写过类似的东西但不起作用。

    array1.forEach(item1 => {
        const itemFromArr2 = array2.find(item2 => item2.id== item1.id);
        if (itemFromArr2) {
           item1= itemFromArr2;
        }
     }
  ) …
Run Code Online (Sandbox Code Playgroud)

javascript arrays typescript

1
推荐指数
1
解决办法
984
查看次数