Как проверить, существует ли строка перед выполнением запроса POST / PUT? - PullRequest
1 голос
/ 03 ноября 2019

Я использую VueJS и получил веб-форму, где пользователь может установить флажок html, помеченный как «Активный», чтобы определить, является ли элемент (названный branch) active. Если поле ввода не отмечено, это означает, что элемент имеет значение inactive. Если branch равно inactive, я динамически добавляю текст (inactive) к свойству branch. Сбор данных из формы затем отправляется в базу данных / удаленный API. Довольно просто. Примеры пользовательского интерфейса ниже:

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 голосов
/ 03 ноября 2019

не нужно вносить изменения в исходный объект the.branch. создайте временный клон, отправьте сообщение в API, затем сделайте.

onSubmitUpdate() {
      this.loading = true
      // clone it
      let clone = Object.assign({}, this.branch)
      clone.branch = clone.active ? clone.branch : clone.branch + ' (inactive)'
      ApiService.updateBranch(clone)
      .....
}

, если вы хотите отобразить branch + " (inactive)" на веб-странице, так как вы используете vue.js. использование v-if будет работать:

<span v-if="!branch.active">(inactive)</span>
0 голосов
/ 03 ноября 2019

Вы можете использовать String.prototype.replace() для замены строки, если она существует.

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

Если имя ветви содержит строку (inactive), она удаляется. Если нет, то ничего не меняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...