reactjs - 从 SemanticUI 中的 onClick 操作中检索输入值

标签 reactjs semantic-ui-react

在 React Semantic-UI 中,可以为输入元素提供一个方便的操作按钮或图标,如下所示:

http://react.semantic-ui.com/elements/input/#variations-action-icon-button

不幸的是,文档在解释操作如何触发函数方面确实很差。这里问了你应该如何做到这一点的问题:

https://github.com/Semantic-Org/Semantic-UI-React/issues/1944

答案似乎是您应该在图标或按钮上使用 onClick。看起来像这样:

<Input
    action={{
        icon: 'play', onClick: (event,data)=>{console.log(data);}
    }}
    defaultValue="I bet you wish you could access this!"
/>

虽然这看起来合乎逻辑,但它提出了一个问题当传递给 onClick 函数的数据描述的是图标而不是输入时,如何访问输入的值?

最佳答案

按照您尝试执行此操作的方式,您需要为 <Input> 创建一个引用组件,然后从该目标获取值。然而,更好的方法是控制状态中的输入值。然后,您可以拥有一个单击处理程序函数,每次单击按钮时该函数都会从状态获取输入值。

<Input
  action={{
    icon: "play",
    onClick: () => this.handleClick()
  }}
  defaultValue={this.state.value}
  onChange={this.handleInputChange}
/>

这是一个快速的 Codesandbox 示例,展示了它的工作原理:https://codesandbox.io/s/y3j4m703ov

关于reactjs - 从 SemanticUI 中的 onClick 操作中检索输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51632679/

相关文章:

javascript - Firebase 未与 React 应用程序连接 - 权限被拒绝 - 在线检查了所有关于此无解决方案的问题

reactjs - 在 Material UI 中自定义扩展面板并覆盖样式

reactjs - React Semantic UI - 将图标放置在菜单项中文本的左侧

css - 语义UI,如何自定义菜单样式?

javascript - 将 html 内容分解为单独的更高级别的 html 标签并将它们存储在数组中

javascript - 有人可以解释为什么/如何不需要在 Action 创建者中为同步函数分派(dispatch) Action 吗?

webpack - semantic-ui-react webpack 大小是 1.74M?

html - 在垂直菜单语义 UI React 上添加 float 标签时分隔线消失

semantic-ui-react - 如何在 React Semantic UI 中排列不同大小的卡片

javascript - 使用文字点符号 setter 将属性注入(inject) ReactJS 功能组件是一种好习惯吗?