在对话框Vue上将道具从父组件传递到子组件

温妮

所以我想将batch_code数据从dashboard.vuereview.vue组件绑定子组件

因此,信息中心包含诸如batch_code之类的详细信息,然后我很难将数据传递给审阅组件,单击“费率和审阅”按钮后,它将获得batch_code

当我尝试时,我只是从返回所说的数据中得到空值。有什么建议?

dashboard.vue


<template>
  <div>
    <v-col cols="10" class="mx-auto">
      <v-card class="pa-4" outlined>
        <v-card-title class="pb-0 pt-2">Dashbard</v-card-title>
        <div v-if="checkifEmpty()">
          <v-row>
            <v-col
              v-for="item in myBatch.all_batch"
              :key="item.batch_code"
              cols="6"
            >
              <v-card class="ma-2" outlined>
                <div class="d-flex">
                  <v-avatar class="ma-3" size="150" tile>
                    <v-img :src="item.image"></v-img>
                  </v-avatar>
                  <div>
                    <v-card-title class="pb-0 pt-2"
                      >{{ item.offer }} ({{ item.level }})</v-card-title
                    >
                    <v-card-text>
                      <div class="mt-0">{{ item.techer_name }}</div>
                      <div class="mt-0">{{ item.batch_name }}</div>
                      <div class="Heading 6 pb-0">
                        {{ item.start_date }} -
                        {{ item.end_date }}
                      </div>
                      <div class="subtitle-1 pb-0">{{ item.type }}</div>
                    </v-card-text>
                  </div>
                  <v-btn elevation="3" v-on:click="openReviewDialog"
                    >Rate and Review!</v-btn
                  >
                </div>
              </v-card>
            </v-col>
          </v-row>
        </div>
        <div v-else>
          <v-card-text class="pb-0 pt-2"
            >You have no enrolled offers</v-card-text
          >
        </div>
      </v-card>
    </v-col>
    <review />
  </div>
  
</template>

<script>
import store from "../../store/index";
import review from "./review"
export default {
  name: "Dashboard",
  components:{
    review,
  },
  computed: {
    myBatch() {
      return store.getters.getMyOffers;
    },
  },
  methods: {
    checkifEmpty() {
      let batch = this.myBatch;
      if (batch == null || batch.all_batch.length == 0) {
        return false;
      } else {
        return true;
      }
    },
    openReviewDialog() {
      this.$store.dispatch("setreviewDialog");
      this.sidebarFront = false;
    }
  },
};
</script>

<style>
</style>

‍‍review.vue


<template>

  <v-row justify="center">
    <v-dialog v-model="reviewDialog" persistent max-width="900px">
      <v-card>
        <v-card-title class="justify-center">
          <span class="headline font-weight-bold"
            >Rate and Review this Course!</span
          >
        </v-card-title>
        <v-card-text>
          <v-container fluid>
            <v-row>
              <v-col cols="12" sm="12" md="12">
                <v-form
                  ref="userReview"
                  v-model="userReviewForm"
                  lazy-validation
                >
                   <v-text-field
                    rounded
                    outlined
                    v-model="subject"
                    label="Subject"
                    required
                  ></v-text-field>

                  <v-text-field
                    rounded
                    outlined
                    v-model="batch_code"
                    label="batch_code"
                    readonly
                  ></v-text-field>

                  <v-textarea
                    rounded
                    outlined
                    v-model="review"
                    counter="250"
                    label="Review"
                    required
                  ></v-textarea>
                  
                  <v-rating v-model="rating">
                   <template v-slot:item="props">
                     <v-icon
                     :color="props.isFilled ? 'orange lighten-1' : 'grey lighten-1'"
                      size = "30"
                     @click="handleRatingChange(props)">mdi-star</v-icon>
                    </template>
                  </v-rating> 

                  

                  <div>
                    <v-btn
                      :loading="loginLoader"
                      large
                      block
                      rounded
                      elevation="0"
                      color="primary"
                      @click="submit"
                    >
                      Submit
                    </v-btn>
                  </div>
                </v-form>
              </v-col>
            </v-row>
          </v-container>
        </v-card-text>
        <v-card-actions>
          <v-spacer></v-spacer>
          <div class="close"> <v-btn color="error" text @click="closeReviewDialog()"> Close </v-btn></div>
        </v-card-actions>
      </v-card>
    </v-dialog>
  </v-row>
  
</template>

<script>
import store from "../../store/index";

export default {
  props: {
    item:{
          batch_code: null;
       }
          },
  name: "review",
  data() {
    return {
      getters: store.getters,
      rating: null
    };
  },
  computed: {
    reviewDialog: function () {
      return this.getters.getreviewDialog;
    },
    
  },
  methods: {
    closeReviewDialog: function () {
      //this.show = false;
      //this.$refs.card.hide();
      //store.dispatch("removeLoginError");
      store.dispatch("setreviewDialog");
    },
    handleRatingChange(props){
      console.log(props.index + 1)
      this.rating = props.index +1
    }
  },
};
</script>
'''

p.s: i don't know if it's different when calling props for a component than to a dialog box.
马哈杜尔·哈桑(Md Mahamudul Hasan)

只需按照以下提示更新代码,

openReviewDialog() {
      this.$store.dispatch("setreviewDialog", **your_rating_data**);
      this.sidebarFront = false;
    }

因此,请在商店中相应地更新您的调度/操作。

在加载表单时,只需使用getter从存储中提取数据并在对话框中显示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将道具从父组件传递到子组件

来自分类Dev

VueJS-无法将道具从父组件传递到子组件

来自分类Dev

子组件对话框未关闭

来自分类Dev

从父组件打开材料UI对话框?

来自分类Dev

如何使用Nebular对话框组件将数据传递到Angular组件?

来自分类常见问题

Vue-从父组件到子组件传递v-for索引

来自分类Dev

在Vue.js中将方法从父组件传递到子组件

来自分类Dev

vue.js将数据从父单个文件组件传递到子组件

来自分类Dev

将道具从父级传递到使用挂钩的子级组件?

来自分类Dev

将回调对象从父组件传递到子组件angular

来自分类Dev

Vuejs将动态数据从父组件传递到子组件

来自分类Dev

将回调函数从父组件传递到子组件react

来自分类Dev

从父组件传递onChange到子组件的onChange-React

来自分类Dev

NativeScript - 将内容从父组件传递到子组件

来自分类Dev

在 React 中调用从父组件传递到子组件的方法

来自分类Dev

无法将道具从父级传递到子级并将其保存在子级组件的状态下

来自分类Dev

将数据从父级传递到vue.js中的子级组件

来自分类Dev

Vue.js将变量从父级传递到子级组件

来自分类Dev

Vue-从父级到子级组件传递v-for索引

来自分类Dev

在AngularJS组件中将事件从父级传递到子级

来自分类Dev

在对话框之间传递数据

来自分类Dev

当它作为道具传递时,如何将状态从父组件更新到子组件?

来自分类Dev

Angular2路由-将数据从父组件传递到子子组件

来自分类Dev

CQ5 AEM:如何使用javascript在对话框中按名称获取组件

来自分类Dev

如何处理从父级组件到子级组件的道具,以便以更新的形式填充道具数据

来自分类Dev

Vue传递道具以路由组件

来自分类Dev

角2,如何将选项从父组件传递到子组件?

来自分类Dev

如何将值从父组件传递到子组件(反应)

来自分类Dev

过滤后的数据未在React中从父组件传递到子组件

Related 相关文章

  1. 1

    无法将道具从父组件传递到子组件

  2. 2

    VueJS-无法将道具从父组件传递到子组件

  3. 3

    子组件对话框未关闭

  4. 4

    从父组件打开材料UI对话框?

  5. 5

    如何使用Nebular对话框组件将数据传递到Angular组件?

  6. 6

    Vue-从父组件到子组件传递v-for索引

  7. 7

    在Vue.js中将方法从父组件传递到子组件

  8. 8

    vue.js将数据从父单个文件组件传递到子组件

  9. 9

    将道具从父级传递到使用挂钩的子级组件?

  10. 10

    将回调对象从父组件传递到子组件angular

  11. 11

    Vuejs将动态数据从父组件传递到子组件

  12. 12

    将回调函数从父组件传递到子组件react

  13. 13

    从父组件传递onChange到子组件的onChange-React

  14. 14

    NativeScript - 将内容从父组件传递到子组件

  15. 15

    在 React 中调用从父组件传递到子组件的方法

  16. 16

    无法将道具从父级传递到子级并将其保存在子级组件的状态下

  17. 17

    将数据从父级传递到vue.js中的子级组件

  18. 18

    Vue.js将变量从父级传递到子级组件

  19. 19

    Vue-从父级到子级组件传递v-for索引

  20. 20

    在AngularJS组件中将事件从父级传递到子级

  21. 21

    在对话框之间传递数据

  22. 22

    当它作为道具传递时,如何将状态从父组件更新到子组件?

  23. 23

    Angular2路由-将数据从父组件传递到子子组件

  24. 24

    CQ5 AEM:如何使用javascript在对话框中按名称获取组件

  25. 25

    如何处理从父级组件到子级组件的道具,以便以更新的形式填充道具数据

  26. 26

    Vue传递道具以路由组件

  27. 27

    角2,如何将选项从父组件传递到子组件?

  28. 28

    如何将值从父组件传递到子组件(反应)

  29. 29

    过滤后的数据未在React中从父组件传递到子组件

热门标签

归档