941477276/vue-country-intl

组件赋值错误

wzt-procedure opened this issue · 19 comments

选择input 模式 在列表里面区号如果存在相同的值 点击选中后 在input框显示的国旗对应不上 例如区号212 或者区号358

选中后不会出现国旗对不上吧,如果v-model的值为212358才会出现不理想的国籍
如果v-model的值为212358则选中匹配到的第一个值

但是我点第二个的话 显示的还是第一个出现的国旗

出现相同的值 点击谁 就显示谁 应该是这样啊

问题解决了,安装1.0.25版本即可
在使用中当type=phone时,需要添加一个iso2的属性,实例代码如下:

<VueCountryIntl
        v-model="schemaInput.default"
        :iso2="schemaInput.selectedObjDefault.iso2"
        @onChange="onDefaultChange">
        <template slot="vueCountryNoData"><h1>没有找到该国籍!</h1></template>
</VueCountryIntl>

export default {
  name: 'app',
  data(){
    return {
      schemaInput: {
        default: '+86',
        selectedObjDefault: {}
      }
    }
  },
  methods: {
    onDefaultChange(selected){
      this.schemaInput.selectedObjDefault = selected;
    }
  }
}
</script>

安装1.0.25版本 国家地区的js依赖没有 以及样式依赖也没有

1.0.25版本未把打包好的包上传上去,使用1.0.26版本就可以了

刚刚试了一下 发现选中值后 离开页面 赋予了组件空值 还是会选中前一次的值 刷新可以取消掉 控制台有错误提示 ‘当type=phone时最好传递iso2属性,否则当区号代码为212或358时会出现选择不正确问题!’

可以录个gif动态图看下吗

2f993004483bfbcd3c58b6b758605409 看第二个watch 打印出来的值 都没有 但是组件上还是会选中并显示区号93
gif我不知道怎么传 见谅

直接将录制好的gif图片拖拽到输入框里面来就可以上传了

如不能上传gif图片,你把你的操作步骤详细描述一下吧

就是点击按钮 弹出我们这个组件 点击选择后 关闭弹框 在点击按钮 这里我给了空值 弹出组件还是前一次选中的值
就普通的增加操作

是选中了**,关闭弹窗,然后再次选中**,结果赋值了一个空值,是这样吗?

是选中了** 关闭弹窗 在打开弹窗 还是显示的** 这里我是做了处理的 就是在打开时候 我清了值的

把你代码贴出来看下吧

4face6fd4eeebc1f508f54b1b97799ff 就一个 赋空值

问题已解决,安装1.0.27版本

跟着你上面的写法添加iso2的属性 但是控制台一直提示 “当type=phone时最好传递iso2属性,否则当区号代码为212或358时会出现选择不正确问题”

这个提示只会在mounted中出现一次

好的 非常感谢你的帮助 谢谢