Получить значение компонента модели из схемы VueJS JSON


Получить значение компонента модели из схемы VueJS JSON

01.10.2020 01:46:05 Просмотров 29 Источник

У меня есть проект в vuejs, Vuetify и следующей библиотеке для динамического создания форм с использованием аннотированных схем JSON: https://koumoul-dev.github.io/vuetify-jsonschema-form/latest/about

Библиотека великолепна и делает именно то, что мне нужно, генерирует форму из схемы JSON, я даже могу добавить свой собственный компонент и показать его на форме, единственное, чего не хватает, - это то, что я не могу получить данные компонента слота в модель.

вы можете найти мой пример здесь: https://codepen.io/eran-levi/pen/jOqjroa

Вот как я добавил этот компонент:

<template slot="rating" slot-scope="{key, value, update, schema }" class="field">
      <star-rating :value="value" @rating-selected="update($event, key)" :show-rating="false" />
    </template>

а в схеме JSON:

rating: {
      type: "number",
            title: "Rating",
            minimum: 0,
            maximum: 5
        }

как вы можете видеть, как только вы нажмете кнопку "Показать данные", вы увидите результаты каждого поля, которое вы редактируете, рядом со значением нового компонента звезды, который я добавил..

чего мне здесь не хватает?

Спасибо.

У вопроса есть решение - Посмотреть?

Ответы - Получить значение компонента модели из схемы VueJS JSON / Get model component value from VueJS JSON Schema

Является ответом!
NKSM

01.10.2020 11:59:04

Вам не хватает вашего метода update.

Я добавил метод updateRating и привязал его к событию @rating-selected.

Вот рабочая скрипка: https://jsfiddle.net/9pjdxht6/1/

компонент Vue-star-rating:

<star-rating :value="value" @rating-selected="updateRating" :show-rating="false" />

метод обновления:

updateRating: function(rating){
    this.model.rating = rating;
}

Надеюсь, это вам поможет.

Помочь в развитии проекта:
Закрыть X