首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有可能防止默认的onDeselect (选择输入多个蚂蚁设计)?

是否有可能防止默认的onDeselect (选择输入多个蚂蚁设计)?
EN

Stack Overflow用户
提问于 2018-11-27 16:25:27
回答 1查看 3.2K关注 0票数 2

我想要做的是控制onDeselect事件,我想在活动结束前问一个问题。然后,如果用户接受删除,则可以删除该选项。

这是我的选择和道具:

代码语言:javascript
复制
<Select
       mode="multiple"
       style={{ width: '100%' }}
       placeholder="Select at least one"
       allowClear={false}
       onSelect={this.addNewClassroom}
       onDeselect={this.deleteClasroom}
      >
        {classroomSelect}
</Select>

这是我使用的函数:

代码语言:javascript
复制
deleteClasroom(val, e){

    //e.preventDefault();

    confirm({
      title: 'Are you sure?',
      content: 'Delete this...',
      onOk() {
        //  -----------> delete the item 
      },
      onCancel() {
        //  -----------> keep the item 
       },
    });
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-27 16:54:39

onDeselect在事件发生后发生,不公开这样的功能。但是,您可以将组件转换为受控组件并实现用例。

代码语言:javascript
复制
class App extends Component {
  constructor() {
    super();
    this.state = {
      values: ['a10', 'c12'],
    };
  }

  onDeselect = (value) => {
    const that = this;
    confirm({
      title: 'Are you sure delete this task?',
      content: 'Some descriptions',
      okText: 'Yes',
      okType: 'danger',
      cancelText: 'No',
      onOk() {
        that.setState(prevState => ({
          values: prevState.values.filter(item => item !== value),
        }));
      },
      onCancel() {
        ;
      },
    });
  }

  onSelect = (value) => {
    console.log(value)
    this.setState(prevState => ({
      values: [...prevState.values, value],
    }));
  }

  render() {
    return (
      <div>
        <Select
          mode="multiple"
          style={{ width: '100%' }}
          placeholder="Please select"
          value={this.state.values}
          onSelect={this.onSelect}
          onDeselect={this.onDeselect}
        >
          {children}
        </Select>,
      </div>
    );
  }
}

参见这里的工作示例

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

https://stackoverflow.com/questions/53504016

复制
相关文章

相似问题

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