как не быть жестко запрограммированным для типа Buefy в vue.js

<b-checkbox v-model="selectedTiers" :native-value="i" type="checkType(i)" @input="update">
    {{ $t('general.specificTier', { tier: i }) }}
</b-checkbox>

Всем привет, я использую Buefy и Vue.js. Я хочу, чтобы шрифт был гибким. Вот почему я использую здесь этот метод. согласно другому I он выводит другую строку. Но тип здесь не распознает метод здесь. Я также не могу использовать здесь строку + строка.

Вот информация о флажке buefy.


person Elias    schedule 14.09.2020    source источник


Ответы (1)


Вы можете использовать v-bind директиву для динамического изменения атрибутов.

Вот пример для начала:

<template>
  <div id="app">
    <!-- Example with string manipulation -->
    <b-checkbox :type="`is-${type}`">TEST 1</b-checkbox>

    <!-- Example by reading off compenent-data -->
    <b-checkbox :type="checkboxType">TEST 2</b-checkbox>
  </div>
</template>

<script>
export default {
  name: "App",
  components: {},
  data() {
    return {
      type: 'success',
      checkboxType: "is-success"
    };
  }
};
</script>

И последнее: вы все еще можете использовать там метод (просто добавьте : перед именем атрибута - например, :type="checkType(i)"), но функция будет оцениваться только один раз, и любые дальнейшие изменения данных не будут отражены в атрибуте type (не будет обновление при изменении данных)

person Tibebes. M    schedule 14.09.2020
comment
Взгляните на этот код, чтобы увидеть рабочий пример (включая пример с использованием метода ) - person Tibebes. M; 15.09.2020
comment
Спасибо, это очень помогает - person Elias; 15.09.2020