Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
457 views
in Technique[技术] by (71.8m points)

element select 多选移除

在select 中可以进行多选
选中一个,调保存接口,
移除一个,调删除接口,

 editSelect(label, val) {
      console.log(label);
      this.oldLabels = label;
      if (val === 'labels') {
        const params = {
          loginName: this.userInfo.loginName,
          taskId: this.editTasks.taskId,
          labelId: label[label.length - 1],
        };
        this.$api.Task.addLabel(params, (res) => {
          if (res.code === 0) {
            this.$emit('editSuccess', true);
          } else {
            this.$message.success(res.msg);
          }
          this.isaddLabels = false;
        });
      }
    }

editSelect方法是绑定在change上的

 <el-select class="label-select" multiple filterable
    @remove-tag="removeLabels"
    @change="((val)=>{editSelect(val, 'labels')})"
    v-model="editTasks.form.labels">
    <el-option
      v-for="item in selectList.labelList"
      :key="item.dictValue"
      :label="item.dictLabel"
      :value="item.dictValue"
      :disabled="item.disabled"
      >
    </el-option>
  </el-select>

移除的时候用的是removeLabels

// 移除标签
    removeLabels(val) {
      // eslint-disable-next-line no-debugger
      debugger;
      const params = {
        loginName: this.userInfo.loginName,
        taskId: this.editTasks.taskId,
        labelId: val,
      };
      this.$api.Task.removeLabel(params, (res) => {
        console.log(res);
        if (res.success) {
          this.$emit('editSuccess', true);
        } else {
          this.$message.error(res.msg);
        }
      });
    },

现在的问题是 点击移除标签的时候会先去调change事件,然后在调移除事件,请问有没有什么方法在移除的时候阻止change事件呢


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

emmm 为什么要把保存事件和选中挂到一起?
可以分开啊,选中归选中,保存归保存,多整个按钮就好了

不要增加事件的复杂性


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...