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

语义用户界面日历对反应数据网格自定义编辑器失去焦点?

苏边浩
2023-03-14

经过一些调查,我认为问题可能会出现,因为react数据网格的焦点是单元格,即使日历弹出也没有改变。然而,许多示例都在使用focus on input,不确定如何调整代码并使其正确聚焦

目标:使用响应数据网格html" target="_blank">自定义编辑器启用语义日历日期选择器的键盘导航

构建演示:日期选择器的第三列https://codesandbox.io/embed/8l4jkor19

当前行为:

  • 双击日期单元格,弹出日历

通缉行为:

  • 双击日期单元格弹出日历
  • 按在日历日期导航的键盘箭头键,然后按回车键选择

官方示例:第一个输入单元https://arfedulov.github.io/semantic-ui-calendar-react/

如有任何意见,将不胜感激,非常感谢

共有1个答案

钦良弼
2023-03-14

解决方案是在customEditor中添加事件侦听器,而左侧和右侧仍然可以在日历上导航、设置状态并保持跟踪。

  constructor(props) {
    super(props);
    this.state = { 
      dateEditor: props.value,
      selectedDate: props.value
    };
    this.handleChange = this.handleChange.bind(this);
  }

  componentDidMount() {
    document.addEventListener('keydown', this.handleKeyDown, true);   
  }   
  componentWillUnmount() {
    document.removeEventListener('keydown', this.handleKeyDown, true);   
  }

  handleKeyDown = (e) => {
    if (e.keyCode === 37) {
      // Arrow left subtract one day
      this.setState({ selectedDate: moment(this.state.selectedDate).subtract(1, 'days').format('L')});
    }
    if (e.keyCode === 39) {
      // Arrow right add one day
      this.setState({ selectedDate: moment(this.state.selectedDate).add(1, 'days').format('L')});
    }
    if (e.keyCode === 13) {
      // Enter will commit selected date
      let value = this.state.selectedDate;
      this.setState({ ["dateEditor"]: value }, () => this.props.onCommit());
    }   
  };
 类似资料:
  • 目标:使用响应数据网格自定义编辑器启用语义日历日期选择器的键盘导航 构建演示:日期选择器的第三列https://codesandbox.io/embed/8l4jkor19 当前行为: 双击日期单元格,弹出日历 按键盘箭头键,所选单元格已更改,日历将消失 通缉行为: 双击日期单元格弹出日历 按在日历日期导航的键盘箭头键,然后按回车键选择 官方示例:第一个输入单元https://arfedulov.

  • 但为了让它看起来像这样,我必须添加硬编码的大小限制,从而使它不具有自适应性。 这里是xml布局。 如何使此图像具有自适应性,并且仍然看起来像第一张图像?

  • 我正在研究带有注释的Spring MVC。我还没有注册任何自定义日期编辑 在我的类中,我有一个类型为java.lang.Date的属性 我读到的是customDateEditor默认不注册。但是当我提交带有空白日期的表单时,它抛出了illegalArgumentException 如果我输入日期然后提交它不抛出异常 在那之后,我将绑定结果作为参数添加到控制器方法,现在它正在接受空白值 我没有向控制

  • 我被卡住了使用KendoUI网格。到目前为止,该设置按预期工作。我创建了一个有5个条目的自定义数据源,所有条目都包含标题、描述和值。值可以不同,它们可以是:布尔值、数字值、文本值、日期值或时间值。 使用自定义KendoTemboard的编辑弹出窗口,我可以得到弹出窗口显示正确的字段类型根据值是什么: 到目前为止,一切都很好,一切正常。日期选择器 但是(!)有一件事出错了。与我尝试的不同,编辑表单发

  • 我正在使用Kendo网格,其中有几个列用于概览行数据。当用户单击添加/编辑按钮时,弹出窗口将显示一些附加数据,其中包括一些复选框。 我在将复选框与当前MVVM模型绑定时遇到问题,因为在添加新行时,Kendo将模型视为变量,而不是数组。这会导致在选中一个复选框(单击)时选中多个复选框。在看了剑道MVVM之后,我打算得到当前弹出窗口的MVVM模型,以便操作一些数据,但没有成功。因此,我将在以下方面寻求

  • 一个javafx初学者,我需要一些帮助。我遵循了这里的示例,并使单元格编辑工作得很好。我启用了TableViewSelectionModel中TableViewsetCellSelectionEnabled true的单元格选择。但是当我完成编辑单元格时,TableView失去焦点,焦点转到场景中的第一个节点。我尝试获取当前选定的单元格并使用getFocusModel()的focus(),即使在P