antdV中$confirm取消按钮和点击x关闭弹窗时执行不同的事件

在这里插入图片描述

在antv中有时候我们希望用户点击取消按钮时或者点击x或者按esc关闭弹窗时执行不同的事件,可以这样实现:

	const getTagP = list => {
        return list.map(item =>
          this.$createElement("p", { style: { marginBottom: "0" } }, item)
        );
      };
      this.$confirm({
        title: "请选择对此环节的操作方式",
        content: this.$createElement(
          "div",
          null,
          getTagP([
            "注意:",
            "1.选择查看详情,只可查看不可编辑",
            "2.选择编辑,切换环节后未保存的内容将被清空,是否继续切换环节?"
          ])
        ),
        okText: "编辑",
        okType: "primary",
        cancelText: "取消",
        closable: true,
        onOk: () => {
          const id = this.steps[index].case_process_id;
          this.$parent.getSchemaList(id, {
            typeName: "changeProcess",
            list: [id]
          }); 
        },
        onCancel: e => {
          if (e.triggerCancel) {
            //点击x或者按键盘esc关闭的弹窗
            return;
          }
          const id = this.steps[index].case_process_id;
          this.$parent.jumpProcess(id); 
          e();
        }
      });

点击x或者按esc关闭弹窗时回调函数会带上triggerCancel这个参数,点击取消按钮时这个回调的参数会是一个关闭弹窗的函数,需要手动执行下


版权声明:本文为qq_41952476原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。