Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从自定义v- date -picker Vuetify获取所选日期

从自定义v- date -picker Vuetify获取所选日期
EN

Stack Overflow用户
提问于 2020-05-02 09:53:41
回答 1查看 2K关注 0票数 1

我在我当前的项目中使用Vue的Vuetify框架,并且我已经创建了一个基于v-date-picker的自定义组件,我计划在多个地方使用它。下面是代码;

子组件(自定义v-date-选择器)

代码语言:javascript
运行
AI代码解释
复制
<template>
<v-dialog
        ref="dialog"
        v-model="modal"
        :return-value.sync="date"
        persistent
        width="290px"
      >
        <template v-slot:activator="{ on }">
          <v-text-field
            v-model="date"
            :label=title
            prepend-icon="event"
            readonly
            v-on="on"
          ></v-text-field>
        </template>
        <v-date-picker v-model="date" scrollable>
          <v-spacer></v-spacer>
          <v-btn text color="primary" @click="modal = false">Cancel</v-btn>
          <v-btn text color="primary" @click="$refs.dialog.save(date)">OK</v-btn>
        </v-date-picker>
      </v-dialog>
</template>
<script>
export default {
    props:[
        'title','date'
    ],
    data () {
      return {
        modal:false,
      }
    },   


}
</script>

父组件(这是一个对话框)

代码语言:javascript
运行
AI代码解释
复制
<template>
    <v-dialog
      width="800px"
      v-model="dialog"
    >
      <v-card>
        <!-- <v-card-title class="grey darken-2">
          Create contact
        </v-card-title> -->
        <v-container>
          <v-row class="mx-2">

            <v-col cols="3">
              <date-picker-component :date="beginDate" title="Begin Date"></date-picker-component>
            </v-col>
            <v-col cols="3">
              <date-picker-component :date="endDate" title="End Date"></date-picker-component>
            </v-col>
          </v-row>
        </v-container>
        <v-card-actions>
          <v-spacer />
          <v-btn
            text
            color="primary"
            @click="dialog = false"
          >Cancel</v-btn>
          <v-btn
            text
            @click="createEvent"
          >Create Event</v-btn>
        </v-card-actions>
      </v-card>
      <v-overlay :value="overlay">
      <v-progress-circular indeterminate size="64"></v-progress-circular>
    </v-overlay>
    <v-dialog
      v-model="resultDialog"
      max-width="290"
    >
      <v-card>
        <v-card-title class="headline"><v-icon class="pr-2" color="green" st>mdi-check-circle</v-icon> Event Manager</v-card-title>
        <v-card-text>
          {{resultDialogMessage}}
        </v-card-text>
        <v-card-actions>
          <v-spacer></v-spacer>
          <v-btn
            color="green darken-1"
            text
            @click="resultDialog = false"
          >
            OK
          </v-btn>
        </v-card-actions>
      </v-card>
    </v-dialog>
    </v-dialog>

</template>
<script>
  import Vue from 'vue';
  import DatePicker from "../../widgets/DatePicker";

  export default {
    name: 'CreateEvent',
     props:['dialog'],
    components:{
      'date-picker-component':DatePicker,
    },
    data () {
      return {
        resultDialog:false,
        resultDialogMessage:"",
        overlay:false,
        beginDate:new Date().toISOString().substr(0, 10),
        endDate:new Date().toISOString().substr(0, 10),
      }
    },
  };
</script>

v- date -picker运行良好,但我立即选择了一个日期,在控制台中得到以下错误;

代码语言:javascript
运行
AI代码解释
复制
[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "date

因此,我无法从子组件中获取所选的日期,而该日期只是恢复为初始日期。

是不是我遗漏了什么,我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-02 13:46:31

在向子组件传递vue数据时,应将组件作为道具传递给父组件,并应通过发回来传递该组件。如果您使用相同的变量来传递和传回值,vue会警告您。您需要更改您的日期选择器组件,如下所示,这样prop就不会直接被孩子更改。而是使用本地数据。

代码语言:javascript
运行
AI代码解释
复制
<template>
<v-dialog
  ref="dialog"
  v-model="modal"
  :return-value.sync="localDate" //Changed here
  persistent
  width="290px"
  >
  <template v-slot:activator="{ on }">
    <v-text-field
      v-model="localDate"  //Changed here
      :label=title
      prepend-icon="event"
      readonly
      v-on="on"
      ></v-text-field>
  </template>
  <v-date-picker v-model="localDate" scrollable>  //Changed here
    <v-spacer></v-spacer>
    <v-btn text color="primary" @click="modal = false">Cancel</v-btn>
    <v-btn text color="primary" @click="$refs.dialog.save(localDate)">OK</v-btn> //Changed here
   </v-date-picker>
</v-dialog>
</template>
<script>
export default {
    props:[
        'title','date'
    ],
    data () {
      return {
        modal:false,,
        localDate: this.date
      }
    },
    watch: {
      localDate(){ 
        this.$emit('update', this.localDate)
      }
    }   
}
</script>

现在,在您的父组件中,您可以按如下方式使用

代码语言:javascript
运行
AI代码解释
复制
<date-picker-component 
  :date="endDate" 
  @update="(v) => (endDate = v)" 
  title="End Date">
</date-picker-component>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61557429

复制
相关文章
Android从零撸美团(一) - 统一管理 Gradle 依赖 提取到单独文件中
从今天开始带大家一起从零开始撸一个美团Android版App。 【从零撸美团】这个专题将持续更新,用以详细记录分享开发过程,欢迎关注。
solocoder
2022/04/06
8540
Android从零撸美团(一) - 统一管理 Gradle 依赖 提取到单独文件中
Android中R文件ID值
前端时间在学习 Qigsaw 相关的源码,思考到一个问题。动态加载的feature 包里的 资源id 是否会与主包中的 资源id 冲突。因为主包的 apk 文件不一定是和加载的feature 包是一起打包生成的,feature 包是可以进行升级的。查看 Qigsaw编译脚本对 old.apk 进行增量编译 feature 的时候也没有发现对 R文件 做特殊的处理。
静默加载
2021/01/11
2.8K0
Android中R文件ID值
实用:如何将aop中的pointcut值从配置文件中读取
改造老项目,须要加一个aop来拦截所的web Controller请求做一些处理,由于老项目比较多,且包的命名也不统一,又不想每个项目都copy一份相同的代码,这样会导致后以后升级很麻烦,不利于维护。于是我们想做成一个统一的jar包来给各项目引用,这样每个项目只须要引用该jar,然后配置对应的切面值就可以了。
Bug开发工程师
2019/12/09
24.4K1
gin 框架将路由文件单独处理
首先,我们新建一个 routers 文件夹,这里面放置路由文件,包含一个总的router.go
句小芒
2022/12/29
7010
gin 框架将路由文件单独处理
R语言技巧:读csv格式的文件
最近Rsudio更新https://www.rstudio.com/products/rstudio/download/了,对我们常用的几种文件格式都作用了封装,直接点击按钮就可以对文件读取啦,感觉好强大好神奇的说。下面来一个个的给出代码!
努力在北京混出人样
2019/02/18
1K0
Java中的读文件,文件的创建,写文件
大家好,我是 Vic,今天给大家带来Java中的读文件,文件的创建,写文件的概述,希望你们喜欢
达达前端
2019/07/03
2K0
Java中的读文件,文件的创建,写文件
R中重复值、缺失值及空格值的处理
1、R中重复值的处理 unique函数作用:把数据结构中,行相同的数据去除。 #导入CSV数据 data <- read.csv('1.csv', fileEncoding = "UTF-8", stringsAsFactors = FALSE); #对重复数据去重 new_data <- unique(data) 重复值处理函数:unique,用于清洗数据中的重复值。 “dplyr”包中的distinct() 函数更强大: distinct(df,V1,V2) 根据V1和V2两个条件来进行去重 uniq
Erin
2018/01/09
8.5K0
porm文件中的build标签
执行build任务时,如果没有指定目标,将使用的默认值。
全栈程序员站长
2022/07/04
1.3K0
将序列分解为单独的变量
python中,任何序列或可迭代的对象都可以通过一个简单的赋值操作来分解为单独的变量。前提是要求变量的总数和结构要与序列相吻合 #_*_coding:utf8_*_ p = (4, 5) x, y = p print(x) # 4 print(y) # 5 data = ['GuoJing', 30, ('杨过', '小龙女')] name, age, xialv = data print(name) # GuoJing print(xialv) # ('杨过', '小龙女') name, age, (
章鱼喵
2018/06/27
9410
Python 用OPEN读文件报错 ,路径以及r
Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案 今天在运用Python pillow模块处理图片时遇到一个错误 SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape 刚开始以为是图片名字有中文,不识别,于是在pyth
学到老
2018/03/19
8400
Python 用OPEN读文件报错 ,路径以及r
Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案 今天在运用Python pillow模块处理图片时遇到一个错误 SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape 刚开始以为是图片名字有中文,不识别,于是在python文件的头部加上 -- coding:utf-8 -
学到老
2019/02/14
6800
「R」从gtf文件中抽取基因id和name
参考文章http://www.bioinfo-scrounger.com/archives/342计算FPKM值,发现计算完每个基因下所有外显子的总长度后,记录的都是ENSEMBL gene id,而我需要的是symbol。奇怪的是GenomicFeatures既然把GTF文件读取进去了还抽取基因id了,但它就是不提供抽gene symbol的功能。
王诗翔呀
2020/07/03
4.9K2
Python 用OPEN读文件报错 ,路径以及r
但是加完这个还是报错,然后我就把图片的中文去掉还成英文,然后报错,一脸懵逼呀。后来在stackoverflow 上找到了类似的错误,原来是图片路径写的 有问题,错误代码如下
学到老
2019/02/14
1.1K0
JS中的Map如何根据已知的key获取到对应的value值
JS中的Map如何根据已知的key获取到对应的value值 JS中的Map如何根据已知的key获取到对应的value值?别说话,直接上代码: var paramMap = new Map(); paramMap.set(a,b); var bb = paramMap.get(a); 详情请看:https://www.ohyn.cn/article/27
一诺千金
2020/04/25
20K0
从mysql获取到从redis获取 示例
1.因采集是每分钟写入一次数据库,故redis每分钟读取一次数据库最新信息,读取脚本如下:
葫芦
2019/04/13
2.5K0
从mysql获取到从redis获取 示例
Typecho制作单独Tag标签聚合页面 调用所有标签方式
一般我们在自己制作或者选择的其他人Typecho主题的时候,都会默认单篇文章会有调用单篇文章的标签Tag,且可能在侧栏或者底部会调用部分热门的Tag。不过我们有些朋友希望需要将所有的Tags聚合到一个页面,这里就需要独立制作一个标签模板页面。
老蒋
2021/12/24
1.2K0
获取HTML网页中option标签元素的值
在进行表单元素的操作时,难免会遇到对option元素的挑选,下面的示例代码能够很好的获取到你option元素选择的值,如果要传递给后端,可通过ajax或者其他方式传递即可。 示例代码
呆呆
2021/10/09
7.8K0
Stata | 删除文件夹下所有文件
在数据整理过程中,有时会生成一些临时的文件,数据整理完之后往往需要将其删除。本文就介绍下如何用 Stata 删除路径下的所有文件。
PyStaData
2020/07/21
5K0
Python 用OPEN读文件报错 ,路径以及r
Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案 背景描述 今天在运用Python pillow模块处理图片时遇到一个错误 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 刚开始以为是图片名字有中文,不识别,于是在pyth
学到老
2018/03/16
1.1K0
python将获取到的数据保存到文本
1.代码中json_str为获取到的json数据,数据类型为dic(不直接使用con的原因是它不能设置ensure_ascii和indent的值)
句小芒
2022/12/29
1.1K0

相似问题

在Stata中,如何从单独的csv文件添加变量标签?

13

R中将值标签读取到spss文件中

12

将数据抓取到Stata中

30

将文件中的数据读取到单独的Int值中

40

将库提取到单独的文件中

113
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档