RegExp('(?:^|\s)([' + arg + '][.]*)','gi');
g
, выделение первых букв в отдельную группу и точки, которых может вообще не быть? Вы же вроде фильтрацию делаете.RegExp(`(?:^|\\s)[${arg}]`, 'i')
.this.filter = expr;
v-model
. export default {
render(h) {
return h('ul', this.$slots['list-item'].map(n => h('li', [ n ])));
},
};
components: {
SlotWrapper: {
functional: true,
render: (h, context) => context.props.node,
},
},
<li v-for="n in $slots['list-item']">
<slot-wrapper :node="n"></slot-wrapper>
</li>
function () { axios.get(api.udpEmulatorProxy)
return axios.get
?this.getShips() this.$store.commit('getShips', 10)
get
? - смысл-то в установке значения, так что правильно было бы set
) передавать те данные, что возвращает getShips
:this.$store.commit('getShips', await this.getShips());
Пользователь выбирает несколько таких чекбоксов и нажимает кнопку "Выбрать".
selected() {
return this.filters.map(n => ({
filterId: n.filterId,
values: n.filterData.variants.filter(m => m.checked).map(m => m.key),
}));
},
data() {
return {
items: ['iPhone 7', 'Galaxy S8', 'Nokia N8', 'Xiaomi Mi6'],
};
},
хочу сделать крутящийся spinner на блоке, когда данные обновляются, затем при выводе новых данных, скрывать его
this.showSpinner = true
this.showSpinner = false
<div class="spinner" v-if="showSpinner"></div>
Консоль говорит, что не может найти product, потому что я не правильно использую хуки.
var prod = product;
product
? Это который в data
лежит? Тогда должно быть this.product
. Почему вы пытаетесь определить переменную с таким же именем как и у параметра? А при вызове в хуке mounted
- почему ничего не передаёте в метод results
, у него же определён параметр?mounted
при вызове results
передавайте ему product
- this.results(this.product)
. Или так: строку удаляете, удаляете параметр prod
, в вызове axios.get
вместо prod
используете this.product
. при вводе каждого символа с поля слетает фокус
this.form.company_ids.push({
key: this.form.company_ids.length,
});
this.form.company_ids.push({
key: ++this.currKey,
});
this.form.company_ids.push({
key: Math.max(0, ...this.form.company_ids.map(n => n.key)) + 1,
});
methods: {
group(item) {
return item && Object.entries(this.groups).find(([ k, v ]) => v.includes(item.group))[0];
},
computed: {
selectedGroup() {
return this.group([].concat(...this.data.map(n => n.items)).find(n => n.checked));
},
<ul v-for="{ items } in data">
<li v-for="item in items">
<label>
<input
type="checkbox"
v-model="item.checked"
:disabled="selectedGroup && selectedGroup !== group(item)"
>
{{ item.name }} ({{ group(item) }})
</label>
</li>
</ul>
data: () => ({
mainCategories: [
{ merchantId: '1', checked: true },
{ merchantId: '2', checked: true },
...
],
}),
computed: {
checkedCategories() {
return this.mainCategories.filter(n => n.checked).map(n => n.merchantId);
},
},
<li v-for="n in mainCategories">
<label>
<input type="checkbox" v-model="n.checked">
{{ n.merchantId }}
</label>
</li>
created() {
this.checkedCategories = this.mainCategories.map(n => n.merchantId);
},