在执行POST / PUT请求之前,如何检查字符串是否存在?

时间:2019-11-03 02:56:24

标签: javascript vuejs2

我正在使用VueJS,并且得到了一个Web表单,用户可以在其中检查标记为“活动”的html复选框,以指定某项(名为branch)是否为active。如果未选中输入框,则表示该项目为inactive。如果branchinactive,则将文本(inactive)动态附加到branch属性中。然后,将来自表单的数据收集发送到数据库/远程api。非常简单。以下UI示例:

enter image description here enter image description here

我的问题是: 如何从分支名称中删除字符串(inactive)(如果已经存在)?

这是我的data()对象和相关的method()

  data() {
    return {
      branch: {
        division_id: null,
        branch: '',
        active: false,
        branch_id: null
      },

onSubmitUpdate() {
      this.loading = true
      let branchEdit = this.branch
      branchEdit.branch = this.branch.active ? this.branch.branch : this.branch.branch + ' (inactive)'
      ApiService.updateBranch(branchEdit)
        .then(() => {
          this.loading = false
          //this.$router.push({ path: '/home' })
        })

感谢任何有关如何有效做到这一点的提示!

2 个答案:

答案 0 :(得分:0)

您可以使用String.prototype.replace()替换字符串(如果存在)。

branchEdit.branch = this.branch.active ? 
    this.branch.branch.replace(' (inactive)', '') : 
    this.branch.branch + ' (inactive)';

如果分支名称包含字符串(inactive),则将其删除。如果没有,则什么都不会改变。

答案 1 :(得分:0)

不必更改原始 if(operator=='%') { System.out.println("The module is: "+(num1%num2)); } 对象。 创建它的临时克隆,发布到API,然后完成。

the.branch

如果您要在网页中显示onSubmitUpdate() { this.loading = true // clone it let clone = Object.assign({}, this.branch) clone.branch = clone.active ? clone.branch : clone.branch + ' (inactive)' ApiService.updateBranch(clone) ..... } ,因为您正在使用vue.js。使用branch + " (inactive)"会起作用:

v-if