当前位置: 首页 > 知识库问答 >
问题:

在JSX|React中如何将prop传递到按钮状态,以便按钮状态可以加载新页面?

仲元凯
2023-03-14

尝试使用react datepicker退出搜索,然后检查可用日期。在将道具传递到btn时遇到一些问题,因此我可以根据所选日期创建新页面。

所有东西都正确导入了,我们可以忽略以下内容:我的数据采集器组件和我需要POP使用的BTN搜索组件

我试图在组件上的每个元素中传递道具,并在组件中内置btn。我读过更好的方法是将道具向下传递到元素链中。所以我最后试着这样做。似乎仍然无法抓住约会狂console.log它。也试图建立警报。


class Datepicker extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      value: ""
    };
    this.handleChange = this.handleChange.bind(this);
    this.handleSubmit = this.handleSubmit.bind(this);
  }
  handleChange(event) {
    this.setState({ value: event.target.value });
  }

  handleSubmit(event) {
    alert("A name was submitted: " + this.state.value);
    event.preventDefault();
  }
  state = {};
  render() {
    console.log(this.props.value);
    return (
      <>
        <FormGroup>
          <InputGroup className="input-group-alternative">
            <InputGroupAddon addonType="prepend">
              <InputGroupText
              >
                <i className="ni ni-calendar-grid-58" />
              </InputGroupText>
            </InputGroupAddon>
            <ReactDatetime
            value={this.state.value}
            onChange={this.handleChange}
            inputProps={{
              placeholder: "Date Picker Here"
            }}
            timeFormat={false}
            />
          </InputGroup>
        </FormGroup>
        <Btnsearch />
      </>
    );
  }
}

export default Datepicker;

class Btnsearch extends React.Component {
    render() {
        return (
        <button value={this.props.value} className="btn btn-success search-card-btn">Search</button>
    );
    }
};

export default Btnsearch;

我希望在单击按钮以填充新页面时,console.log并提醒道具已更改。我没有定义道具

共有1个答案

桂志新
2023-03-14

只要把道具传下来:

 <Btnsearch value={this.state.value}/>

否则您的组件将永远无法获得它。

编辑:您的代码中有几个问题,我制作了一个代码片段供您检查。

https://stackblitz.com/edit/react-af37vl

选择一个日期,点击“搜索”,日期将被登录到控制台。

通知(来自react datetime文档):

日期更改时触发回调。如果输入中的日期有效,回调接收选定的矩对象作为唯一参数。如果输入中的日期无效,回调接收输入的值(字符串)。

 类似资料:
  • 本文向大家介绍bootstrap改变按钮加载状态,包括了bootstrap改变按钮加载状态的使用技巧和注意事项,需要的朋友参考一下 bootstrap里面有个激活按钮的时候,按钮变成不可用的; 按照官网里面的方法介绍是在button按钮加个 data-loading-text="Loading..." 属性,然后js总体代码是这样: 其中autocomplete="off"属性是针对FF浏览器在页

  • 我以编程方式生成了许多按钮(一些按钮用于增加值,而另一些按钮用于减少值),当它们调整的值达到最大值或最小值时,我会禁用这些按钮。(即,当达到最大值时,“增加”按钮被禁用,而当达到最小值时,“减少”按钮被禁用。)除了禁用,我还将按钮状态设置为“按下”,以直观地指示已达到极限值,并且按钮不再工作。 我的按钮onClickListener的'增加'按钮看起来像这样: ClickListeners上相应的

  • 我有一个3D看按钮在正常状态下,与3DP在右侧和底部,当我按下按钮,我希望它看起来3D与3DP在左侧和顶部,这一次。但是,当我更改项形状的按下状态的填充值时,即使按钮处于正常状态/未按下,填充值的更改也会显示出来。 我的按钮看起来是这样的: 我也希望它按下时也是这样: btn_gray1.xml btn_gray2.xml btn_gray.xml

  • 我正在尝试使用Flutter中的进度状态按钮。在pub.dev文档中,小部件的设置如下

  • 我添加了一个简单的表单,有一个输入和一个保存按钮。保存函数被调用,并按预期工作。 但是我现在想在保存按钮上添加一个布尔值来禁用逻辑。所以在我当前的页面中,我有一个叫做的状态,如果这个状态是空的,我想禁用这个按钮。 我做了如下尝试,将传递到按钮的disabled属性中,但它不会禁用save按钮。与此示例类似: 我还在_onBlur方法中记录了该值,我可以看到电子邮件状态正在填充。 问题: 如何将组件

  • 我整天都在用这些按钮。首先,这两个按钮都在对方的上面,看起来像这样,http://I.imgur.com/wvmntpq.jpg,现在在这里发布了一个问题之后,它看起来像这样,http://imgur.com/omxdqct我被告知在我的css中改变如下: css:button{ float:left;margin-top:250px;color:white;display:block;margi