从状态显示输入值

时间:2019-02-11 04:32:22

标签: javascript reactjs

我希望从state设置输入的值,但是不成功。

这是我的尝试

state={
    value: ["one","two","three"]
}

render (
    return(
    {
        this.state.value.map(val=>{
          return <Input type="radio" value={val} />
        })
    })
)

我得到的结果只是一个输入元素,没有显示值。

* 

我正在寻找的是三个输入元素,其中的值显示为

* One
* two
* Three

4 个答案:

答案 0 :(得分:3)

像follwong一样更改您的渲染

render() {
    return (
        this.state.value.map(function(val) {
            return <div> <input type = "radio" value = {val}/>{val}</div>
        })
    )
  }

Online Demo

注意:如果希望只选择一个单选按钮,在这种情况下,您需要通过提供一个通用名称将单选按钮分组在一起。

答案 1 :(得分:1)

尝试一下:

state={
value: ["one","two","three"]
}

render(
 return(
   { this.state.value.map(val=> (
    <Input type="radio" value={val} />
   )
  )}
 )
)

答案 2 :(得分:0)

请确保已导入输入组件中的输入组件。 喜欢 import Input from './Input或确切路径。 如果没有Input组件,则需要更改Input来输入HTML元素。

state={
value: ["one","two","three"]
}

render() {
   return (
<div>
{
   this.state.value.map(val => (<Input type="radio" value={val} />))
}
<div>
)
}

答案 3 :(得分:0)

如果“输入”本身就是组件,则检查是否已添加“导出默认值”并从该组件返回输入元素。另外,请检查是否从调用它的组件中正确导入了它。 如果它是受控组件,则必须使用值。 检查并在下面的评论中让我知道。