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

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

我的问题是:
如何从分支名称中删除字符串(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' })
        })


感谢您提供有关如何有效执行此操作的提示!

最佳答案

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

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


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

09-26 13:13