Это однозначно баг Фокса, без Vue его легко можно повторить так:
<select>
<option value="value 1">value 1</option>
<option value="value 2">value 2</option>
<option value="value 3">value 3</option>
</select>
<script>
const option = document.querySelector('option');
const value = option.value;
setInterval(() => {
option.setAttribute('value', value)
}, 1000);
</script>
Даже на PC раскрытый select будет "мигать".
А вот чтоб понять почему такое происходит в Vue хотя ничего не меняется, а следовательно не должно ререндериться пришлось чуть покопать: оказывается у Vue
специальная обработка свойства value (ещё
checked и
selected) - для них он агрессивно проставляет атрибут при каждом рендере, даже если ничего не изменилось.
Со стороны Vue можно заменить
:value на
:value.prop или вообще убрать
:value (тогда тест
option будет считаться за него).
Но в идеале надо завести баг на Фокс.