Size: a a a

Vue.js Russian Developers Community

2020 September 13

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Jefferson
Всем привет. Подскажите, ловлю ошибку:
Computed property "IS_SUCCESS" was assigned to but it has no setter.
Модуль стора:
export default {
   state: {
       IsSuccess: false,
       IsErr: false,
       Text: ''
   },
   getters: {
       IS_SUCCESS: state => state.IsSuccess,
       IS_ERR: state => state.IsErr,
       TEXT: state => state.Text
   },
   mutations: {
       SHOW_ERROR: (state, text) => {
           state.Text = text;
           state.IsErr = true;
       },
       HIDE_ERROR: (state) => {
           state.IsErr = false;
       },
       SHOW_SUCCESS: (state, text) => {
           state.Text = text;
           state.IsSuccess = true;
       },
       HIDE_SUCCESS: (state) => {
           state.IsSuccess = false;
       }
   }
}

Ну и сам компонент:
...

<v-snackbar
           v-model="IS_SUCCESS"
           color="success"
           top
           right
       >
         {{ TEXT }}
         <template v-slot:action="{ attrs }">
           <v-btn
               icon
               v-bind="attrs"
               @click="HIDE_SUCCESS"
           >
               <v-icon>fal fa-window-close</v-icon>
           </v-btn>
         </template>
       </v-snackbar>

...

export default {
computed: mapGetters(['IS_ERR', 'IS_SUCCESS', 'TEXT']),
   methods: {
       ...mapMutations(['SHOW_ERROR', 'HIDE_ERROR', 'SHOW_SUCCESS', 'HIDE_SUCCESS']),
   }
}

Ошибка возникает только при закрытии snackbar'а по таймауту. Как исправить?
IS_SUCCESS это геттер, из него можно только читать

а вы в него еще и пишите, т.к. указали его в v-model и при закрытии v-snaсkbar пытается записать туда false
источник

J

Jefferson in Vue.js Russian Developers Community
Да, я понимаю это, но не понимаю, как реализовать иначе?
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Jefferson
Да, я понимаю это, но не понимаю, как реализовать иначе?
оберните еще во что-то, чтобы при чтении читать, а при записи вызывать мутацию

как тут например
https://codesandbox.io/s/vuex-form-via-proxy-zubpu?file=/src/components/ItemDialog.vue
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Jefferson
Да, я понимаю это, но не понимаю, как реализовать иначе?
v-snackbar (v-model=«visibel» …

computed: {
  visible: {
     get() {
       return ВАШ ГЕТТЕР
     },

     set(value) {
       мутацию состояния, которая изменит значение геттера
     }
   },
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
ну или другие обходные пути, вы можете не использовать v-model, а просто передавать значение через :value

и повесиь обработчик на закрытие снекбара, который уже вызовет мутацию/экшен
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
у снекбара есть единственное событие input, на него можно повесить обработчик руками, если логика вычисляемого свойства с геттером/сеттером чем-то не нравится
источник

J

Jefferson in Vue.js Russian Developers Community
Благодарю за разьяснение, сейчас что-нибудь придумаю
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Jefferson
Благодарю за разьяснение, сейчас что-нибудь придумаю
нз, поразмыслите над семантикой своих полей )
источник

AS

Artemy S in Vue.js Russian Developers Community
Привет, есть какие-нибудь плагины для vs code, который сортирует css свойства по типу?
источник

СГ

Святослав Галыгин... in Vue.js Russian Developers Community
источник

СГ

Святослав Галыгин... in Vue.js Russian Developers Community
разве нельзя использовать {{}} в атрибутах?
источник

J

Jefferson in Vue.js Russian Developers Community
Рафаил Мамедов
нз, поразмыслите над семантикой своих полей )
Исправил. Спасибо за помощь!
источник

СГ

Святослав Галыгин... in Vue.js Russian Developers Community
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Святослав Галыгин
разве нельзя использовать {{}} в атрибутах?
источник

СГ

Святослав Галыгин... in Vue.js Russian Developers Community
ааа, v-bind забыл атрибуту дать
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Artemy S
Привет, есть какие-нибудь плагины для vs code, который сортирует css свойства по типу?
не знаю точный ответ, но я бы рыл тут https://stylelint.io/user-guide/rules/list
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Artemy S
Привет, есть какие-нибудь плагины для vs code, который сортирует css свойства по типу?
часть 3 возможно поможет
https://blog.csssr.ru/2018/12/05/lint-your-css
источник

AS

Artemy S in Vue.js Russian Developers Community
Спасибо
источник

СГ

Святослав Галыгин... in Vue.js Russian Developers Community
не пойму как в рамках v-for цикла накидывать индекс ему
источник

РМ

Рафаил Мамедов... in Vue.js Russian Developers Community
Святослав Галыгин
не пойму как в рамках v-for цикла накидывать индекс ему
не пойму вопрос
источник