Size: a a a

Love Frontend Chat

2020 March 31

A

Artur in Love Frontend Chat
короче elb не должен влиять на это
источник

EU

Egor Urvanov in Love Frontend Chat
Привет. Пишу на vuejs. Подскажите, пожалуйста. Есть вот такой компонент

          <div
                   v-for="(v, i) in block.variants"
                   :key="v"
               >
                   <radiobutton
                       :checked="()=>checked(i)"
                       v-on:select="select"
                   />
               </div>


Внутри `checked(i)`прячется это:

            checked: function(i) {
               return this.mask[i] === 1;
           },


mask:

        data: () => {
           return {
               mask: null,
           }
       }


При вызове select, изменяется состояние mask. Как мне сделать так, чтобы checked у radiobutton изменялся runtime, а не только при отрисовке?

https://ru.stackoverflow.com/questions/1103533/%d0%98%d0%b7%d0%bc%d0%b5%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%b8%d0%b5-%d0%ba%d0%be%d0%bc%d0%bf%d0%be%d0%bd%d0%b5%d0%bd%d1%82%d0%b0-runtime
источник

A

Artur in Love Frontend Chat
Egor Urvanov
Привет. Пишу на vuejs. Подскажите, пожалуйста. Есть вот такой компонент

          <div
                   v-for="(v, i) in block.variants"
                   :key="v"
               >
                   <radiobutton
                       :checked="()=>checked(i)"
                       v-on:select="select"
                   />
               </div>


Внутри `checked(i)`прячется это:

            checked: function(i) {
               return this.mask[i] === 1;
           },


mask:

        data: () => {
           return {
               mask: null,
           }
       }


При вызове select, изменяется состояние mask. Как мне сделать так, чтобы checked у radiobutton изменялся runtime, а не только при отрисовке?

https://ru.stackoverflow.com/questions/1103533/%d0%98%d0%b7%d0%bc%d0%b5%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d0%be%d1%81%d1%82%d0%be%d1%8f%d0%bd%d0%b8%d0%b5-%d0%ba%d0%be%d0%bc%d0%bf%d0%be%d0%bd%d0%b5%d0%bd%d1%82%d0%b0-runtime
vue.$set ?
источник

A

Artur in Love Frontend Chat
не оч понял
источник

EU

Egor Urvanov in Love Frontend Chat
Как это использовать? Мне сказали смотреть в сторону :key
источник

A

Artur in Love Frontend Chat
покажи select метод
источник

EU

Egor Urvanov in Love Frontend Chat

           select: function (index) {
               this.mask[this.selected] = 0;
               this.mask[index] = 1;
               this.setBlockStore(index);
           },
           setBlockStore: function (index) {
               if (this.disabled) {
                   return
               }
               this.$store.dispatch('setBlock', {answer: index});
           },


Они про другое
источник

A

Artur in Love Frontend Chat
сделай mask пустым массивом
источник

A

Artur in Love Frontend Chat
в data
источник

EU

Egor Urvanov in Love Frontend Chat
Ты понимаешь, что мне надо? Или хаотично предлагаешь решения?
источник

EU

Egor Urvanov in Love Frontend Chat
Просто мне кажется, что не понимаешь
источник

A

Artur in Love Frontend Chat
тебе кажется
источник

EU

Egor Urvanov in Love Frontend Chat
источник

A

Artur in Love Frontend Chat
перепиши это предложение попроще
"Как мне сделать так, чтобы checked у radiobutton изменялся runtime, а не только при отрисовке?"
источник

A

Artur in Love Frontend Chat
изменялся в каком случае?
источник

EU

Egor Urvanov in Love Frontend Chat
Есть родительский компонент. В нём я меняю this.mask[i], мне нужно, чтобы в этом случае radiobutton среагировал на это
источник

A

Artur in Love Frontend Chat
как меняешь?
источник

A

Artur in Love Frontend Chat
короче убери нахер функцию из  :checked="mask[i] === 1"
и сделай mask пустым массивом - из-за этого может реактивность не работать без vue.set
источник

A

Artur in Love Frontend Chat
и советую русский подучить, нихера не понятно из твоих слов
источник

EU

Egor Urvanov in Love Frontend Chat
Artur
короче убери нахер функцию из  :checked="mask[i] === 1"
и сделай mask пустым массивом - из-за этого может реактивность не работать без vue.set
Так мне надо в зависимости от того, чему равно значение mask[i] менять состояние дочернего компонента
источник