当前位置:首页 > 前端

vue踩坑记20201027

Z先生5年前 (2020-10-27)前端989

elemeui/antd等框架,再使用复选框、下拉选择框时,如果通过v-model绑定了值,那么选择时,界面不会改变。

方法一:使用default-value指定默认值,@change去改变本该v-model的值,但是这样表单验证无法使用,而且如果一个界面上有多个相同元素,则无法联动

<template>
    <div>
        <a-select placeholder="请选择分类" @change="catChange" default-value="data.catid">
            <a-select-option v-for="item in cats" :key="item.catid">
                {{ item.name }}
            </a-select-option>
        </a-select>
    </div>
</template>
<script>
.......
methods: {
    catChange(catid) {
      this.data.catid = catid
    },
}
</script>

方法二:@change时,强制重新渲染 ,完美解决

<template>
    <div>
        <a-select placeholder="请选择分类" @change="forceUpdate" v-model="keepingInfo.catid">
            <a-select-option v-for="item in cats" :key="item.catid">
                {{ item.name }}
            </a-select-option>
        </a-select>
    </div>
</template>
<script>
.......
methods: {
    forceUpdate() {
      this.$forceUpdate()
    },
}
</script>


标签: vueantdelemeui
分享给朋友:

相关文章

VUE/UNIAPP事件传参

第一种方式使用data<view @click="handleClick" data-info="大家好">点击按钮</v…

vue深度监听

还是不废话,直接上干货watch: { data: { handler: (newVal, oldVal) => { console.log(‘data’, newVal); }, deep:…

js关于this的小技巧

这段时间,vue写的多了,习惯了es6的方式写函数,但是这种写法很容易导致this失效,比如刚刚发布的vue深度监听的问题,用了es6的写法,this就没法用,换回传统写法就可以了。// es6写法,…

Ant Design table自定义复选框的默认不可选状态

官网上的getCheckboxProps中的disabled的值是record.name==="XXX",我在用的过程中肯定是一个list,然后我就想用函数返回true或false…

npm锁定依赖包版本

在某些特殊时候,npm需要锁定依赖包的版本,其方法有2种 安装时后面代参数-E修改package.json文件,去掉版本号前面的^ 常用命令:…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。