首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在atlaskit的内联编辑视图上触发取消事件?

如何在atlaskit的内联编辑视图上触发取消事件?
EN

Stack Overflow用户
提问于 2020-02-03 11:47:19
回答 1查看 165关注 0票数 0

我试图以编程方式在Atlaskit的内联编辑视图组件上触发onCancel事件,但我找不到任何可以在此内联组件上触发取消事件的API文档。

代码语言:javascript
复制
import React from 'react';
import styled from 'styled-components';
import Textfield from '@atlaskit/textfield';
import { gridSize, fontSize } from '@atlaskit/theme';

import InlineEdit from '@atlaskit/inline-edit';

const ReadViewContainer = styled.div`
  display: flex;
  font-size: ${fontSize()}px;
  line-height: ${(gridSize() * 2.5) / fontSize()};
  max-width: 100%;
  min-height: ${(gridSize() * 2.5) / fontSize()}em;
  padding: ${gridSize()}px ${gridSize() - 2}px;
  word-break: break-word;
`;

interface State {
  editValue: string;
}

export default class InlineEditExample extends React.Component<void, State> {
  state = {
    editValue: 'Field value',
  };

  render() {
    return (
      <div
        style={{
          padding: `${gridSize()}px ${gridSize()}px ${gridSize() * 6}px`,
        }}
      >
        <InlineEdit
          defaultValue={this.state.editValue}
          label="Inline edit"
          editView={fieldProps => <Textfield {...fieldProps} autoFocus />}
          readView={() => (
            <ReadViewContainer>
              {this.state.editValue || 'Click to enter value'}
            </ReadViewContainer>
          )}
          onConfirm={value => this.setState({ editValue: value })}
        />
      </div>
    );
  }
}
EN

回答 1

Stack Overflow用户

发布于 2020-02-23 08:34:16

在我看来,最好的方法是使用InlineEditUncontrolled组件,并使用以下属性使其成为受控组件: onConfirm,onCancel,isEditing。之后,您可以将内部isEditing状态更改为false。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60032875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档