标签: semantic-ui-react

如何防止 Semantic-ui-react 中的 onChange 事件触发 onBlur

当我在下拉组件中选择一个项目时,我期望 onChange 事件触发。但是,即使我单击其他地方,onChange 事件也会触发。如何防止onChange事件触发onBlur?

handleDomainChange = (e, data) => {
    this.setState({
      currantDomain_id: data.value,
      currantWidget_id: "null",
    }, () => {
      this.props.dispatch(
        statsFetch(
          this.props.viewRange,
          this.state.currantDomain_id,
          this.state.currantWidget_id
        )
      );
      this.widgetsDropdownOptions();
    });
  }

const DropdownDomains = () => (
      <Dropdown
        placeholder='all domains'
        className="dropdown-title"
        value={this.state.currantDomain_id}
        selection
        options={this.domainsDropdownOptions()}
        onChange={this.handleDomainChange}
        onBlur={this.nothing}
        />
    )
Run Code Online (Sandbox Code Playgroud)

semantic-ui-react

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

React语义UI - 没有触发器的模态?

是否可以在没有触发器的情况下使用模态?我将通过州打开和关闭它.例如,我想在输入字段(带有文件名)上使用onClick来打开带有文件选择器的模态,然后在输入字段中编辑所选文件的名称.所有这些都是嵌套模式...如果我在没有触发器的父组件中有两个模态看起来更简单,我将通过open = {true/false}显示/隐藏它们

谢谢

semantic-ui-react

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

如何在其父组件挂载时让语义 UI React Dropdown 自动聚焦?

我正在使用Semantic React UI 的 Dropdown,我希望它在其父组件安装后立即获得焦点:用户应该能够立即搜索。

我尝试使用render()父级的引用:

<Dropdown ref={dd => (this.MyDropdown = dd)}
        ... />
Run Code Online (Sandbox Code Playgroud)

...然后componentDidMount在父组件的函数中调用它的焦点。但是Dropdown没有功能focus,所以这个方法行不通。

componentDidMount() {
    // I want to do something like the next line here, but 'focus' is not available on the component.
    //this.MyDropdown.focus();
  }
Run Code Online (Sandbox Code Playgroud)

那我应该怎么做呢?

这是我迄今为止在 codeandbox 上尝试过的。请注意 中注释掉的行componentDidMount

autofocus dropdown semantic-ui-react

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

如何在单击Semantic UI React中的下拉项时触发模态?

我有一个下拉菜单和一个模态,我想在点击其中一个下拉项目时显示模态.可能吗?我无法找到这样做的方法,因为我无法获得目标DropdownItem,这是Modal的触发道具所需要的.

export class Demo extends React.Component<{}, {}> {
  private options = [
    { text: 'doNothing', value: 'doNothing' },
    { text: 'openModal', value: 'openModal' },
  ]
  render() {
    return (
      <div>
        <Dropdown
          fluid
          selection
          options={this.options}
          defaultValue={this.options[0].value} />

        <Modal trigger={<Button>trigger</Button>}>
          <Modal.Header>Select a Photo</Modal.Header>
          <Modal.Content image>
            <Modal.Description>
              <p>Some contents.</p>
            </Modal.Description>
          </Modal.Content>
        </Modal>
      </div>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs semantic-ui semantic-ui-react

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

Menu.Item NavLink 始终处于活动状态的问题 Semantic UI React

我正在使用语义 ui react,我正在使用 NavLink 和 Menu.Item 进行路由。

下面是我的导航栏组件:

const Navbar = () => (
  <div>
    <Container>
      <Menu secondary stackable widths={4}>
        <Menu.Item>
          <img src={Logo} alt="header" />
        </Menu.Item>
        <Menu.Item as={NavLink} to="/" name="home">
          <Icon name="home" size="large" />
          <p>Home</p>
        </Menu.Item>
        <Menu.Item as={NavLink} to="/data" name="data">
          <Icon name="dashboard" size="large" />
          <p>Dashboard</p>
        </Menu.Item>
        <Menu.Item as={NavLink} to="/user" name="user">
          <Icon name="user" size="large" />
          <p>User</p>
        </Menu.Item>
      </Menu>
    </Container>
  </div>
);
Run Code Online (Sandbox Code Playgroud)

现在这里是问题所在。路由工作正常,但由于某种原因,“主页”菜单项始终处于活动状态

然而,其他两条路线工作正常(即仅在路线正确时才设置为“活动”)

这是 /dashboard 路由处于活动状态时的样子

我的 App.jsx 中的路由代码:

<Switch>
    <Route exact path="/" component={Home} />
    <Route path="/data" component={Dashboard} /> …
Run Code Online (Sandbox Code Playgroud)

reactjs semantic-ui react-router semantic-ui-react

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

如何在 ReactJS 中获取所选 &lt;Dropdown/&gt; 选项的文本?

我正在开发一个 ReactJS 应用程序,我试图在下拉列表(语义 UI 组件)中获取所选选项的文本

exposedCampaignOnChange = (e, {value}) => {
    this.props.campaignExposedSelected(value);
};

<Dropdown
    placeholder='Campaign Exposed To'
    fluid
    search
    selection
    multiple
    options={this.state.campaigns}
    onChange={this.exposedCampaignOnChange}
/>
Run Code Online (Sandbox Code Playgroud)

上面的代码返回this.state.campaigns由具有valuetext属性的对象数组组成。除了value,我还想获取text所选选项的值。

感谢有关此事的任何指导。

reactjs semantic-ui semantic-ui-react

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

获得圆角输入的最简单方法是什么?

目前我正在使用语义 UI 处理 React 页面,并且我正在努力寻找获得带圆角的 Input 组件的最简单方法。只是像往常一样应用 border-radius 似乎不起作用;有没有人有更好的想法?

(澄清一下 - 我正在寻找与 Semantic-React 中的 Search 组件基本相同的外观。)

jsx semantic-ui-react

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

React,打印机友好的可打印区域进行打印 (Ctrl+P)

在我的 React 应用程序中(使用SemanticUI),我在一个视图中呈现了多个组件,但是当用户想要打印页面时(例如通过在浏览器上按 Ctrl+P),我只希望可以打印一个部分

例如,如果这是用户看到的屏幕截图,则触发浏览器打印时,应在打印概览上显示绿色区域。

到目前为止,我在 SCSS 文件中

@media print{    
  .no-print, .no-print *{ display: none !important; }
}
Run Code Online (Sandbox Code Playgroud)

添加不需要的组件会使它们消失,但打印区域中有空白区域并且绿色部分没有填充页面,如果这个绿色部分是可滚动的并且应该适合几页我只看到一页(一张 A4 纸包含什么我在屏幕上看到)

@media print {
  .print-content {
    display: block;
    width: 100%;
    height: 100%;
    page-break-after: always;
    overflow: visible;
  }
}
Run Code Online (Sandbox Code Playgroud)

还没有得到相同的可打印视图

在此处输入图片说明 这是此屏幕截图的代码

import React from 'react'
import { Grid, Image } from 'semantic-ui-react'

const GridExampleCelled = () => (
  <Grid celled>
    {/*another Grid.Row*/}

    <Grid.Row>
      <Grid.Column width={3}>
        <Image src='/images/wireframe/image.png' />
      </Grid.Column>
      <Grid.Column width={10}> /* This should be the component to …
Run Code Online (Sandbox Code Playgroud)

html css printing reactjs semantic-ui-react

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

在子组件中使用 DropDown 的 React-Final-Form,如何?

我正在尝试在子组件中使用带有 DropDown 的 React-final-form。无法让这个工作。

我所有的文本字段都已经在子组件中,这就像一个魅力。父级中的字段如下所示:

<Field
    name="lastName"
    placeholder="Last Name"
    validate={required}
>
    {({input, meta, placeholder}) => (
        <MyField meta={meta} input={input} placeholder={placeholder}/>
    )}
</Field>
Run Code Online (Sandbox Code Playgroud)

子组件如下所示:

export const MyField = (props) => {
    return (
        <Form.Field className={props.meta.active ? 'active' : ''}>
            <Label>{props.label ? props.label : props.placeholder}</Label>
            <Form.Input
                {...props.input}
                placeholder={props.placeholder}
                className={(props.meta.error && props.meta.touched ? 'error' : '')}
            />
        </Form.Field>
    )
};
Run Code Online (Sandbox Code Playgroud)

“Form.Field” 和 “Label” 来自Semantic-ui-react

但现在我想用 DropDown 做同样的事情。标准 DropDown,取自 React-Final-Form 站点上的示例,如下所示:

<Field name="toppingsA" component="select">
    <option value="chicken">Chicken</option>
    <option value="ham">Ham</option>
    <option value="mushrooms">Mushrooms</option>
    <option …
Run Code Online (Sandbox Code Playgroud)

reactjs semantic-ui-react react-final-form

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

如何在 React 中定义 setFieldValue

我正在使用 Formik 在创建实体之前验证字段。有一个 Select 可以打开一个下拉菜单,用户必须从那里选择一个选项。

我收到一条错误消息,说 setFieldValue 未定义,但是在我没有找到此方法的任何定义之前我已经研究过,它只是这样使用,所以我不知道为什么会发生这种情况。

这是我的代码:

import React from 'react';
import { Formik, Form, Field } from 'formik';
import { Button, Label, Grid } from 'semantic-ui-react';
import * as Yup from 'yup';

class CreateCompanyForm extends React.PureComponent {
  constructor(props) {
    super(props);

    this.state = {
      industry: '',
    };
  }

  onChange = (e, { name, value }) => {
    this.setState({ [name]: value });
  };

  handleSubmit = values => {
    // ...
  };

  render() {
    const nameOptions = [
      { text: …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs semantic-ui semantic-ui-react formik

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