vux [Bug Report] 安卓手机端选择地址的时候默认北京东城区,如果不滑动直接点完成则不会填入地址栏中

sxissh06  于 2022-11-02  发布在  其他
关注(0)|答案(8)|浏览(175)

VUX version

2.9.1-rc.1

OS/Browsers version

Android 8.0

Vue version

2.5.17-beta.0

Code

<template>
  <div>
    <group>
      <x-address @on-hide="logHide" @on-show="logShow" :title="title" v-model="value" :list="addressData" @on-shadow-change="onShadowChange" placeholder="请选择地址" inline-desc="可以设置placeholder" :show.sync="showAddress"></x-address>
      <cell title="上面value值" :value="value"></cell>
    </group>
  </div>
</template>

<i18n>
select address:
  zh-CN: 选择地址
</i18n>

<script>
import { Group, XAddress, ChinaAddressV4Data, XButton, Cell, Value2nameFilter as value2name } from 'vux'

export default {
  components: {
    Group,
    XAddress,
    XButton,
    Cell
  },
  data () {
    return {
      title: '默认为空',
      value_0_1: [],
      value: [],
      title2: '设置值',
      value2: ['天津市', '市辖区', '和平区'],
      value3: ['广东省', '中山市', '--'],
      addressData: ChinaAddressV4Data,
      value4: [],
      value5: ['广东省', '深圳 市', '南山区'],
      showAddress: false
    }
  },
  methods: {
    doShowAddress () {
      this.showAddress = true
      setTimeout(() => {
        this.showAddress = false
      }, 2000)
    },
    onShadowChange (ids, names) {
      console.log(ids, names)
    },
    changeData () {
      this.value2 = ['430000', '430400', '430407']
    },
    changeDataByLabels () {
      this.value2 = ['广东省', '广州市', '天河区']
    },
    changeDataByLabels2 () {
      this.value2 = ['广东省', '中山市', '--']
    },
    getName (value) {
      return value2name(value, ChinaAddressV4Data)
    },
    logHide (str) {
      console.log('on-hide', str)
    },
    logShow (str) {
      console.log('on-show')
    }
  }
}
</script>

Steps to reproduce

点击地址选择,不进行选项滑动,点击完成

What is Expected?

点击完成 北京东城区会被填入

What is actually happening?

点击完成 默认是北京东城区,点击完成,不会填入选项框中

798qvoo8

798qvoo81#

用红米试了下,暂时无法重现。

sqserrrh

sqserrrh2#

1、ios也会有同样的问题,就是点击弹出,什么都不选,默认北京-市辖区-东城区 -直接点击完成。
值不会填入

2、点击弹出选框,直接滑动区列至丰台区或者其他区。点击完成,只有区列被填入

arknldoa

arknldoa3#

VUX version
2.9.2

第一次唤起时,点确定/完成,即使不滑动也可以赋值成功。

但是 ,当自定义methods或者由watch中将 value=[] 之后**,再唤起选框**
1、默认值为上一次选择的地区(如 天津-市辖区-和平区)。不会重新默认为北京-市辖区-丰台区
2、不滑动 选区,直接确定,值不会显示在组件上
3、只滑动 区列 (由 和平区 滑至 南开区), 确定,组件只显示 区值(南开区),省市没了

个人观点:v-model的值置空后,组件中保存的tempValue未清空,导致以上问题。

5cg8jx4n

5cg8jx4n4#

我也遇到了同样的问题,现在只要去除keep-alive,就可以解决这可问题,但是希望使用其他的方法手动可以解决这个,望解决。

jpfvwuh4

jpfvwuh45#

请问得到解决了吗,我也遇到了同样的问题

xbp102n0

xbp102n06#

遇到同样的问题,希望早日解决

ghhaqwfi

ghhaqwfi7#

遇到同样的问题,希望早日解决

rekjcdws

rekjcdws8#

我的方法是在組件上加v-if="hasReseted"(true)
value = []之後hasReset = false,再hasReset = true
雖然很窒息,但至少解決問題

相关问题